diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp index 3c4017a1439..043c13e91fb 100644 --- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp @@ -862,7 +862,7 @@ static void SetForm(nsIHTMLContent* aContent, nsIDOMHTMLFormElement* aForm) { nsCOMPtr formControl(do_QueryInterface(aContent)); - NS_ASSERTION(formControl, "nsIDOMHTMLFormElement doesnt implement nsIFormControl?"); + NS_ASSERTION(formControl, "nsIDOMHTMLFormElement doesn't implement nsIFormControl?"); formControl->SetForm(aForm); } @@ -1090,7 +1090,7 @@ MakeContentObject(nsHTMLTag aNodeType, nsINodeInfo *aNodeInfo, // table if (aNodeType == eHTMLTag_input) { rv = NS_NewHTMLInputElement(aResult, aNodeInfo, aFromParser); - if (!aInsideNoXXXTag) { + if (NS_SUCCEEDED(rv) && !aInsideNoXXXTag) { SetForm(*aResult, aForm); } return rv; @@ -1098,7 +1098,7 @@ MakeContentObject(nsHTMLTag aNodeType, nsINodeInfo *aNodeInfo, if (aNodeType == eHTMLTag_select) { rv = NS_NewHTMLSelectElement(aResult, aNodeInfo, aFromParser); - if (!aInsideNoXXXTag) { + if (NS_SUCCEEDED(rv) && !aInsideNoXXXTag) { SetForm(*aResult, aForm); } return rv; @@ -1106,15 +1106,18 @@ MakeContentObject(nsHTMLTag aNodeType, nsINodeInfo *aNodeInfo, rv = sContentCreatorCallbacks[aNodeType](aResult, aNodeInfo); - switch (aNodeType) { - case eHTMLTag_button: - case eHTMLTag_fieldset: - case eHTMLTag_label: - case eHTMLTag_legend: - case eHTMLTag_object: - case eHTMLTag_textarea: - if (!aInsideNoXXXTag) { + if (NS_SUCCEEDED(rv) && !aInsideNoXXXTag) { + switch (aNodeType) { + case eHTMLTag_button: + case eHTMLTag_fieldset: + case eHTMLTag_label: + case eHTMLTag_legend: + case eHTMLTag_object: + case eHTMLTag_textarea: SetForm(*aResult, aForm); + break; + default: + break; } }