[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
hyatt
hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:26:07 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 793fbbc8b02dbc040601b424e88038332d5b6721
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Feb 26 02:38:01 2003 +0000
reverseRuns was buggy and crashing. 3182658.
Reviewed by mjs
* khtml/rendering/bidi.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 041300c..6a56ce0 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,13 @@
2003-02-25 David Hyatt <hyatt at apple.com>
+ reverseRuns was buggy and crashing. 3182658.
+
+ Reviewed by mjs
+
+ * khtml/rendering/bidi.cpp:
+
+2003-02-25 David Hyatt <hyatt at apple.com>
+
Regression caused by my inclusion of inline flows in the bidi
iteration. These flows are always empty and should be skipped
if found at the start of a line.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 041300c..6a56ce0 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,13 @@
2003-02-25 David Hyatt <hyatt at apple.com>
+ reverseRuns was buggy and crashing. 3182658.
+
+ Reviewed by mjs
+
+ * khtml/rendering/bidi.cpp:
+
+2003-02-25 David Hyatt <hyatt at apple.com>
+
Regression caused by my inclusion of inline flows in the bidi
iteration. These flows are always empty and should be skipped
if found at the start of a line.
diff --git a/WebCore/khtml/rendering/bidi.cpp b/WebCore/khtml/rendering/bidi.cpp
index 0598d87..69a1bbb 100644
--- a/WebCore/khtml/rendering/bidi.cpp
+++ b/WebCore/khtml/rendering/bidi.cpp
@@ -382,29 +382,35 @@ static void reverseRuns(int start, int end)
curr = curr->nextRun;
}
- BidiRun* newEnd = curr;
- BidiRun* prev = 0;
+ BidiRun* startRun = curr;
while (i < end) {
+ i++;
+ curr = curr->nextRun;
+ }
+ BidiRun* endRun = curr;
+ BidiRun* afterEnd = curr->nextRun;
+
+ i = start;
+ curr = startRun;
+ BidiRun* newNext = afterEnd;
+ while (i <= end) {
// Do the reversal.
BidiRun* next = curr->nextRun;
- curr->nextRun = prev;
- prev = curr;
+ curr->nextRun = newNext;
+ newNext = curr;
curr = next;
i++;
}
- BidiRun* newStart = curr;
- BidiRun* afterEnd = curr->nextRun;
-
// Now hook up beforeStart and afterEnd to the newStart and newEnd.
if (beforeStart)
- beforeStart->nextRun = newStart;
+ beforeStart->nextRun = endRun;
else
- sFirstBidiRun = newStart;
+ sFirstBidiRun = endRun;
- newEnd->nextRun = afterEnd;
+ startRun->nextRun = afterEnd;
if (!afterEnd)
- sLastBidiRun = newEnd;
+ sLastBidiRun = startRun;
}
static void addMidpoint(const BidiIterator& midpoint)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list