diff --git a/mozilla/editor/base/nsHTMLEditRules.cpp b/mozilla/editor/base/nsHTMLEditRules.cpp index 0ebbecc961a..46e6768c88b 100644 --- a/mozilla/editor/base/nsHTMLEditRules.cpp +++ b/mozilla/editor/base/nsHTMLEditRules.cpp @@ -986,7 +986,7 @@ nsHTMLEditRules::NextNodeInBlock(nsIDOMNode *aNode, IterDirection aDir) if (NS_FAILED(iter->CurrentNode(getter_AddRefs(content)))) return nullNode; // ignore nodes that aren't elements or text, or that are the block parent node = do_QueryInterface(content); - if (node && IsTextOrElementNode(node) && (node != blockParent) && (node!=aNode)) + if (node && IsTextOrElementNode(node) && (node != blockParent) && (node!=nsCOMPtr(dont_QueryInterface(aNode)))) return node; if (aDir == kIterForward) diff --git a/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp b/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp index 0ebbecc961a..46e6768c88b 100644 --- a/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp +++ b/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp @@ -986,7 +986,7 @@ nsHTMLEditRules::NextNodeInBlock(nsIDOMNode *aNode, IterDirection aDir) if (NS_FAILED(iter->CurrentNode(getter_AddRefs(content)))) return nullNode; // ignore nodes that aren't elements or text, or that are the block parent node = do_QueryInterface(content); - if (node && IsTextOrElementNode(node) && (node != blockParent) && (node!=aNode)) + if (node && IsTextOrElementNode(node) && (node != blockParent) && (node!=nsCOMPtr(dont_QueryInterface(aNode)))) return node; if (aDir == kIterForward)