Reviewed by Kevin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Sep 2004 01:27:21 +0000 (01:27 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Sep 2004 01:27:21 +0000 (01:27 +0000)
<rdar://problem/3759209> REGRESSION (Mail): assertion failure when all of marked text deleted at start of document

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::setMarkedRange): Allow any empty range, even if
it's not in a text node, since in this case it won't matter and
weird things can happen when all marked text is removed, there
might not be any text nodes.

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

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

index 3247585..7ef0162 100644 (file)
@@ -1,3 +1,15 @@
+2004-09-07  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Kevin.
+
+       <rdar://problem/3759209> REGRESSION (Mail): assertion failure when all of marked text deleted at start of document
+       
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::setMarkedRange): Allow any empty range, even if
+       it's not in a text node, since in this case it won't matter and
+       weird things can happen when all marked text is removed, there
+       might not be any text nodes.
+
 2004-09-07  David Hyatt  <hyatt@apple.com>
 
        Initial text-decoration CSS3 work for editing.  Just gets the properties and values parsed.
index e918316..804a836 100644 (file)
@@ -3903,7 +3903,7 @@ DOM::Range KWQKHTMLPart::markedRange() const
 void KWQKHTMLPart::setMarkedRange(const DOM::Range &range)
 {
     ASSERT(!range.handle() || range.startContainer() == range.endContainer());
-    ASSERT(!range.handle() || range.startContainer().nodeType() == Node::TEXT_NODE);
+    ASSERT(!range.handle() || range.startOffset() == range.endOffset() || range.startContainer().nodeType() == Node::TEXT_NODE);
 
     if (m_markedRange.handle() && xmlDocImpl() 
        && m_markedRange.startContainer().handle()->renderer()) {