Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Oct 2004 22:25:54 +0000 (22:25 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Oct 2004 22:25:54 +0000 (22:25 +0000)
        Fix for this bug:

        <rdar://problem/3834779> Mail crashes when editing HTML message - khtml::Selection::layout()

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::styleForSelectionStart): Table code seems to be more robust when the call to
        insert our style-checking node is done with an appendChild rather than an insertBefore. Note
        that this table-related problem was exposed by fixing Selection::layout(), which I did
        yesterday. This change simply improves things even more so that we do not crash in the
        scenario described in the bug.

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

WebCore/ChangeLog-2005-08-23
WebCore/kwq/KWQKHTMLPart.mm

index 5e1ee6b989d611779b426f717a949d85628f844d..c5f8e0c8c92be6462ed73297137edec8d431a39f 100644 (file)
@@ -1,3 +1,18 @@
+2004-10-12  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+
+        Fix for this bug:
+
+        <rdar://problem/3834779> Mail crashes when editing HTML message - khtml::Selection::layout()
+    
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::styleForSelectionStart): Table code seems to be more robust when the call to
+        insert our style-checking node is done with an appendChild rather than an insertBefore. Note 
+        that this table-related problem was exposed by fixing Selection::layout(), which I did
+        yesterday. This change simply improves things even more so that we do not crash in the
+        scenario described in the bug.
+
 2004-10-11  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by John
index 232c0417a3d23cecdd61e2eeaf0c7d3448beb2af..15a3f93ee740425dc39a94dc8277e4f92b3e37c5 100644 (file)
@@ -3461,7 +3461,7 @@ RenderStyle *KWQKHTMLPart::styleForSelectionStart(NodeImpl *&nodeToRemove) const
     styleElement->appendChild(text, exceptionCode);
     ASSERT(exceptionCode == 0);
 
-    node->parentNode()->insertBefore(styleElement, node, exceptionCode);
+    node->parentNode()->appendChild(styleElement, exceptionCode);
     ASSERT(exceptionCode == 0);
 
     nodeToRemove = styleElement;