- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6289
authorap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Dec 2005 21:23:32 +0000 (21:23 +0000)
committerap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Dec 2005 21:23:32 +0000 (21:23 +0000)
        REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect

        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::rangeFromLocationAndLength):
        Only special-case (0, 0) ranges for empty documents.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@11845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/khtml/editing/visible_text.cpp

index c34f9393488c6bbfb37a526231e53cc8958b320b..42261be367828e56ff1d7810cb4f390ac3eb90cc 100644 (file)
@@ -1,3 +1,12 @@
+2005-12-30  Alexey Proskuryakov  <ap@nypop.com>
+
+        - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6289
+        REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect
+
+        * khtml/editing/visible_text.cpp:
+        (khtml::TextIterator::rangeFromLocationAndLength):
+        Only special-case (0, 0) ranges for empty documents.
+
 2005-12-29  Geoffrey Garen  <ggaren@apple.com>
 
         Added test case for <rdar://problem/4268278> Submitting a form in onUnload event
 2005-12-29  Geoffrey Garen  <ggaren@apple.com>
 
         Added test case for <rdar://problem/4268278> Submitting a form in onUnload event
index 9df66ad99a8492bac263c1856bcfd613a2c5d866..800fd0620271eb49e8ace29f74d775e0e0453d2e 100644 (file)
@@ -997,7 +997,8 @@ RangeImpl *TextIterator::rangeFromLocationAndLength(DocumentImpl *doc, int range
 
     TextIterator it(rangeOfContents(doc).get());
     
 
     TextIterator it(rangeOfContents(doc).get());
     
-    if (rangeLocation == 0 && rangeLength == 0) {
+    // FIXME: the atEnd() check shouldn't be necessary, workaround for <http://bugzilla.opendarwin.org/show_bug.cgi?id=6289>.
+    if (rangeLocation == 0 && rangeLength == 0 && it.atEnd()) {
         int exception = 0;
         textRunRange = it.range();
         
         int exception = 0;
         textRunRange = it.range();