diff --git a/mozilla/widget/src/mac/nsMenu.cpp b/mozilla/widget/src/mac/nsMenu.cpp index 8419e6f07a3..189ff11d78a 100644 --- a/mozilla/widget/src/mac/nsMenu.cpp +++ b/mozilla/widget/src/mac/nsMenu.cpp @@ -27,6 +27,7 @@ #include "nsIDocumentViewer.h" #include "nsIDocumentObserver.h" #include "nsIComponentManager.h" +#include "nsIDocShell.h" #include "nsMenu.h" #include "nsIMenu.h" @@ -120,8 +121,10 @@ nsMenu::~nsMenu() OSErr err; NS_IF_RELEASE(mListener); + nsCOMPtr docShell(do_QueryInterface(mWebShell)); + nsCOMPtr cv; - mWebShell->GetContentViewer(getter_AddRefs(cv)); + docShell->GetContentViewer(getter_AddRefs(cv)); if (cv) { nsCOMPtr docv(do_QueryInterface(cv)); @@ -963,9 +966,10 @@ NS_METHOD nsMenu::SetWebShell(nsIWebShell * aWebShell) mWebShell = aWebShell; // add ourself as a document observer - + nsCOMPtr docShell(do_QueryInterface(mWebShell)); + nsCOMPtr cv; - mWebShell->GetContentViewer(getter_AddRefs(cv)); + docShell->GetContentViewer(getter_AddRefs(cv)); if (cv) { nsCOMPtr docv(do_QueryInterface(cv)); @@ -1709,8 +1713,10 @@ MenuHelpers :: WebShellToPresContext ( nsIWebShell* inWebShell, nsIPresContext** nsresult retval = NS_OK; + nsCOMPtr docShell(do_QueryInterface(inWebShell)); + nsCOMPtr contentViewer; - inWebShell->GetContentViewer(getter_AddRefs(contentViewer)); + docShell->GetContentViewer(getter_AddRefs(contentViewer)); if ( contentViewer ) { nsCOMPtr docViewer ( do_QueryInterface(contentViewer) ); if ( docViewer )