diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp index 92b3e2788f5..ec12230d829 100644 --- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp @@ -3353,9 +3353,14 @@ HTMLContentSink::CloseForm() this); if (mCurrentForm) { + // If there is a
tag on the container stack, close it + if (mCurrentContext->IsCurrentContainer(eHTMLTag_p)) { + result = mCurrentContext->CloseContainer(eHTMLTag_p); + } + // if this is a well-formed form, close it too - if (mCurrentContext->IsCurrentContainer(eHTMLTag_form)) { - mCurrentContext->FlushTextAndRelease(); + if (NS_SUCCEEDED(result) && + mCurrentContext->IsCurrentContainer(eHTMLTag_form)) { result = mCurrentContext->CloseContainer(eHTMLTag_form); mFlags &= ~NS_SINK_FLAG_FORM_ON_STACK; }