From 66669e3f04083a4d9a54fac52161eb882344a4e9 Mon Sep 17 00:00:00 2001 From: "beard%netscape.com" Date: Thu, 31 Aug 2000 02:26:44 +0000 Subject: [PATCH] fixing crasher, reference counting problems. r=ccarlen git-svn-id: svn://10.0.0.236/trunk@77712 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webshell/tests/viewer/nsBrowserWindow.cpp | 15 ++++++++------- mozilla/webshell/tests/viewer/nsBrowserWindow.h | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp index 73040da5e2d..14cdad80930 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp @@ -250,7 +250,8 @@ NS_IMETHODIMP nsBrowserWindow::Destroy() docLoader->RemoveObserver(this); nsCOMPtr docShellWin(do_QueryInterface(mDocShell)); docShellWin->Destroy(); - NS_RELEASE(mDocShell); + mDocShell = nsnull; + // NS_RELEASE(mDocShell); } nsrefcnt refCnt; @@ -271,7 +272,8 @@ NS_IMETHODIMP nsBrowserWindow::Destroy() // Others are holding refs to this, // but it gets released OK. DestroyWidget(mWindow); - NS_RELEASE(mWindow); + mWindow = nsnull; + // NS_RELEASE(mWindow); return NS_OK; } @@ -1400,7 +1402,7 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, // Create top level window nsresult rv = nsComponentManager::CreateInstance(kWindowCID, nsnull, kIWidgetIID, - (void**)&mWindow); + getter_AddRefs(mWindow)); if (NS_OK != rv) { return rv; } @@ -1424,8 +1426,7 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, mWebBrowser->SetContainerWindow(mWebBrowserChrome); webBrowserWin->Create(); - nsCOMPtr docShell = do_GetInterface(mWebBrowser); - mDocShell = docShell; + mDocShell = do_GetInterface(mWebBrowser); mDocShell->SetAllowPlugins(aAllowPlugins); nsCOMPtr docLoader; nsCOMPtr webShell(do_QueryInterface(mDocShell)); @@ -1485,7 +1486,7 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, // Create top level window nsresult rv = nsComponentManager::CreateInstance(kWindowCID, nsnull, kIWidgetIID, - (void**)&mWindow); + getter_AddRefs(mWindow)); if (NS_OK != rv) { return rv; } @@ -1497,7 +1498,7 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, // Create web shell rv = nsComponentManager::CreateInstance(kWebShellCID, nsnull, NS_GET_IID(nsIDocShell), - (void**)&mDocShell); + getter_AddRefs(mDocShell)); if (NS_OK != rv) { return rv; } diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.h b/mozilla/webshell/tests/viewer/nsBrowserWindow.h index 8117bc17f92..5a37352d3c4 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.h +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.h @@ -227,8 +227,8 @@ public: PRUint32 mChromeMask; nsString mTitle; - nsIWidget* mWindow; - nsIDocShell* mDocShell; + nsCOMPtr mWindow; + nsCOMPtr mDocShell; nsCOMPtr mWebBrowser; nsFileSpec mOpenFileDirectory;