From 21add209a6302bf8d70cc663f576e6ed5f2701b8 Mon Sep 17 00:00:00 2001 From: "davidm%netscape.com" Date: Tue, 14 Sep 1999 04:22:12 +0000 Subject: [PATCH] 13698 Assertion: "uh oh, couldn't Init() for some reason" (NS_SUCC reorder unregister code so this doesn't happen git-svn-id: svn://10.0.0.236/trunk@47278 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpfe/appshell/src/nsAppShellService.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mozilla/xpfe/appshell/src/nsAppShellService.cpp b/mozilla/xpfe/appshell/src/nsAppShellService.cpp index 01864a30745..90168c6c266 100644 --- a/mozilla/xpfe/appshell/src/nsAppShellService.cpp +++ b/mozilla/xpfe/appshell/src/nsAppShellService.cpp @@ -718,12 +718,7 @@ nsAppShellService::RegisterTopLevelWindow(nsIWebShellWindow* aWindow) NS_IMETHODIMP nsAppShellService::UnregisterTopLevelWindow(nsIWebShellWindow* aWindow) { - nsIWindowMediator* service; - if (NS_SUCCEEDED(nsServiceManager::GetService(kWindowMediatorCID, kIWindowMediatorIID, (nsISupports**) &service ) ) ) - { - service->UnregisterWindow( aWindow ); - nsServiceManager::ReleaseService(kWindowMediatorCID, service); - } + if (mDeleteCalled) { // return an error code in order to: @@ -733,6 +728,13 @@ nsAppShellService::UnregisterTopLevelWindow(nsIWebShellWindow* aWindow) return NS_ERROR_FAILURE; } + nsIWindowMediator* service; + if (NS_SUCCEEDED(nsServiceManager::GetService(kWindowMediatorCID, kIWindowMediatorIID, (nsISupports**) &service ) ) ) + { + service->UnregisterWindow( aWindow ); + nsServiceManager::ReleaseService(kWindowMediatorCID, service); + } + nsresult rv; nsIWebShellContainer* wsc;