diff --git a/content/xml/document/src/nsXMLContentSink.cpp b/content/xml/document/src/nsXMLContentSink.cpp index 38ac21642e42..33808b93dd02 100644 --- a/content/xml/document/src/nsXMLContentSink.cpp +++ b/content/xml/document/src/nsXMLContentSink.cpp @@ -34,6 +34,7 @@ #include "nsIURL.h" #include "nsNetUtil.h" #include "nsIWebShell.h" +#include "nsIDocShell.h" #include "nsIDocShellTreeItem.h" #include "nsIContent.h" #include "nsITextContent.h" @@ -1861,15 +1862,15 @@ nsresult nsXMLContentSink::RefreshIfEnabled(nsIViewManager* vm) { if (vm) { - nsIContentViewer* contentViewer = nsnull; - nsresult rv = mWebShell->GetContentViewer(&contentViewer); + nsCOMPtr docShell(do_QueryInterface(mWebShell)); + nsCOMPtr contentViewer; + nsresult rv = docShell->GetContentViewer(getter_AddRefs(contentViewer)); if (NS_SUCCEEDED(rv) && (contentViewer != nsnull)) { PRBool enabled; contentViewer->GetEnableRendering(&enabled); if (enabled) { vm->EnableRefresh(NS_VMREFRESH_IMMEDIATE); } - NS_RELEASE(contentViewer); } } return NS_OK; diff --git a/layout/xml/document/src/nsXMLContentSink.cpp b/layout/xml/document/src/nsXMLContentSink.cpp index 38ac21642e42..33808b93dd02 100644 --- a/layout/xml/document/src/nsXMLContentSink.cpp +++ b/layout/xml/document/src/nsXMLContentSink.cpp @@ -34,6 +34,7 @@ #include "nsIURL.h" #include "nsNetUtil.h" #include "nsIWebShell.h" +#include "nsIDocShell.h" #include "nsIDocShellTreeItem.h" #include "nsIContent.h" #include "nsITextContent.h" @@ -1861,15 +1862,15 @@ nsresult nsXMLContentSink::RefreshIfEnabled(nsIViewManager* vm) { if (vm) { - nsIContentViewer* contentViewer = nsnull; - nsresult rv = mWebShell->GetContentViewer(&contentViewer); + nsCOMPtr docShell(do_QueryInterface(mWebShell)); + nsCOMPtr contentViewer; + nsresult rv = docShell->GetContentViewer(getter_AddRefs(contentViewer)); if (NS_SUCCEEDED(rv) && (contentViewer != nsnull)) { PRBool enabled; contentViewer->GetEnableRendering(&enabled); if (enabled) { vm->EnableRefresh(NS_VMREFRESH_IMMEDIATE); } - NS_RELEASE(contentViewer); } } return NS_OK;