diff --git a/mozilla/editor/base/nsEditorShell.cpp b/mozilla/editor/base/nsEditorShell.cpp index 8097d8049e1..2e1b05fd1ea 100644 --- a/mozilla/editor/base/nsEditorShell.cpp +++ b/mozilla/editor/base/nsEditorShell.cpp @@ -3071,11 +3071,17 @@ nsEditorShell::OnEndDocumentLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsIDocumentLoaderObserver * aObserver) #endif // NECKO { -#ifdef NECKO - nsCOMPtr aUrl; - channel->GetURI(getter_AddRefs(aUrl)); -#endif - return PrepareDocumentForEditing(aUrl); + // for pages with charsets, this gets called the first time with a + // non-zero status value. Don't prepare the editor that time. + // aStatus will be NS_BINDING_ABORTED then. + if (NS_SUCCEEDED(aStatus)) + { + nsCOMPtr aUrl; + channel->GetURI(getter_AddRefs(aUrl)); + return PrepareDocumentForEditing(aUrl); + } + + return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/editor/composer/src/nsEditorShell.cpp b/mozilla/editor/composer/src/nsEditorShell.cpp index 8097d8049e1..2e1b05fd1ea 100644 --- a/mozilla/editor/composer/src/nsEditorShell.cpp +++ b/mozilla/editor/composer/src/nsEditorShell.cpp @@ -3071,11 +3071,17 @@ nsEditorShell::OnEndDocumentLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsIDocumentLoaderObserver * aObserver) #endif // NECKO { -#ifdef NECKO - nsCOMPtr aUrl; - channel->GetURI(getter_AddRefs(aUrl)); -#endif - return PrepareDocumentForEditing(aUrl); + // for pages with charsets, this gets called the first time with a + // non-zero status value. Don't prepare the editor that time. + // aStatus will be NS_BINDING_ABORTED then. + if (NS_SUCCEEDED(aStatus)) + { + nsCOMPtr aUrl; + channel->GetURI(getter_AddRefs(aUrl)); + return PrepareDocumentForEditing(aUrl); + } + + return NS_OK; } NS_IMETHODIMP