Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Mar 2005 17:08:53 +0000 (17:08 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Mar 2005 17:08:53 +0000 (17:08 +0000)
        Fix for this bug:

        <rdar://problem/4011358> REGRESSION(Mail): after dragging text to mail message and deleting, typing or dragging new text doesn't work

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::isCandidate): Insertion point disappearing was due to a failed
        check here after deleting all the content in the body element. The special "empty block"
        needs to add check for DOM children. A block may have straggling anonymous render children in
        some cases, and so the check needs to be (!DOM-kids || !render-kids).

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/visible_position.cpp

index 38c2798cc145bb2129ac59475177df624c8adba4..89167dca11b320c9121d3bde7b6e9e871befe7f8 100644 (file)
@@ -1,4 +1,18 @@
- 2005-03-01  Ken Kocienda  <kocienda@apple.com>
+2005-03-01  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+
+        Fix for this bug:
+
+        <rdar://problem/4011358> REGRESSION(Mail): after dragging text to mail message and deleting, typing or dragging new text doesn't work
+
+        * khtml/editing/visible_position.cpp:
+        (khtml::VisiblePosition::isCandidate): Insertion point disappearing was due to a failed
+        check here after deleting all the content in the body element. The special "empty block"
+        needs to add check for DOM children. A block may have straggling anonymous render children in
+        some cases, and so the check needs to be (!DOM-kids || !render-kids).
+
+2005-03-01  Ken Kocienda  <kocienda@apple.com>
  
         Reviewed by Maciej
 
         * layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
         * layout-tests/editing/deleting/smart-delete-002.html: Added.
 
->>>>>>> 1.3972
 2005-03-01  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Vicki
index 6e7b692fb2985fa39d84095fa0c07c4e6ce0a0ce..d281c1e63c1fe8bb2c6f9d488a8682cf50090772 100644 (file)
@@ -308,9 +308,11 @@ bool VisiblePosition::isCandidate(const Position &pos)
         }
     }
     
-    if (renderer->isBlockFlow() && !renderer->firstChild() && (renderer->height() || pos.node()->id() == ID_BODY))
+    if (renderer->isBlockFlow() && (!renderer->firstChild() || !pos.node()->firstChild()) && 
+       (renderer->height() || pos.node()->id() == ID_BODY)) {
         // return true for offset 0 into rendered blocks that are empty of rendered kids, but have a height
         return pos.offset() == 0;
+    }
     
     return false;
 }