[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