diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp index f9bdfa93e64..a6c89e27e95 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp @@ -203,6 +203,7 @@ HandleBrowserEvent(nsGUIEvent *aEvent) case NS_DESTROY: bw->Destroy(); + NS_RELEASE(bw); return nsEventStatus_eConsumeDoDefault; case NS_MENU_SELECTED: @@ -471,7 +472,6 @@ nsBrowserWindow::nsBrowserWindow() nsBrowserWindow::~nsBrowserWindow() { - Destroy(); } NS_IMPL_ADDREF(nsBrowserWindow) diff --git a/mozilla/webshell/tests/viewer/nsViewerApp.cpp b/mozilla/webshell/tests/viewer/nsViewerApp.cpp index 1f8d4a2ce76..bc414e759c1 100644 --- a/mozilla/webshell/tests/viewer/nsViewerApp.cpp +++ b/mozilla/webshell/tests/viewer/nsViewerApp.cpp @@ -350,6 +350,9 @@ NS_IMETHODIMP nsViewerApp::OpenWindow() { // Create browser window + // XXX Some piece of code needs to properly hold the reference to this + // browser window. For the time being the reference is released by the + // browser event handling code during processing of the NS_DESTROY event... nsBrowserWindow* bw = nsnull; nsresult rv = NSRepository::CreateInstance(kBrowserWindowCID, nsnull, kIBrowserWindowIID,