diff --git a/editor/libeditor/nsHTMLEditRules.cpp b/editor/libeditor/nsHTMLEditRules.cpp index 55395f02be7..b76659cc42a 100644 --- a/editor/libeditor/nsHTMLEditRules.cpp +++ b/editor/libeditor/nsHTMLEditRules.cpp @@ -6590,7 +6590,8 @@ nsHTMLEditRules::SplitParagraph(nsIDOMNode *aPara, nsCOMPtr child = GetAsDOMNode(mHTMLEditor->GetLeftmostChild(rightParaNode, true)); NS_ENSURE_STATE(mHTMLEditor); - if (mHTMLEditor->IsTextNode(child) || !mHTMLEditor || + if (!mHTMLEditor || + mHTMLEditor->IsTextNode(child) || mHTMLEditor->IsContainer(child)) { NS_ENSURE_STATE(mHTMLEditor); @@ -7389,7 +7390,8 @@ nsHTMLEditRules::PinSelectionToNewBlock(Selection* aSelection) tmp = GetAsDOMNode(mHTMLEditor->GetLastEditableChild(*block)); uint32_t endPoint; NS_ENSURE_STATE(mHTMLEditor); - if (mHTMLEditor->IsTextNode(tmp) || !mHTMLEditor || + if (!mHTMLEditor || + mHTMLEditor->IsTextNode(tmp) || mHTMLEditor->IsContainer(tmp)) { NS_ENSURE_STATE(mHTMLEditor); @@ -7410,7 +7412,8 @@ nsHTMLEditRules::PinSelectionToNewBlock(Selection* aSelection) NS_ENSURE_STATE(mHTMLEditor); tmp = GetAsDOMNode(mHTMLEditor->GetFirstEditableChild(*block)); int32_t offset; - if (!(mHTMLEditor->IsTextNode(tmp) || !mHTMLEditor || + if (mHTMLEditor && + !(mHTMLEditor->IsTextNode(tmp) || mHTMLEditor->IsContainer(tmp))) { tmp = nsEditor::GetNodeLocation(tmp, &offset);