Added and used Close() method to nsWebShellWindow. Part of fix for bug 3676 (again) and 3900. Wants to be part of M3 build. r:sdagley,pierre. a:chofmann,cyeh.

git-svn-id: svn://10.0.0.236/trunk@24305 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
danm%netscape.com
1999-03-18 19:08:36 +00:00
parent 6c0a68e81f
commit 61eba8993a
3 changed files with 32 additions and 6 deletions

View File

@@ -247,14 +247,22 @@ nsAppShellService::CreateTopLevelWindow(nsIWidget *aParent,
NS_IMETHODIMP
nsAppShellService::CloseTopLevelWindow(nsIWidget* aWindow)
{
nsresult rv;
nsresult closerv, unregrv;
void *data;
rv = UnregisterTopLevelWindow(aWindow);
if (0 == mWindowList->Count()) {
mAppShell->Exit();
aWindow->GetClientData(data);
if (data == nsnull)
closerv = NS_ERROR_NULL_POINTER;
else {
nsWebShellWindow* window = (nsWebShellWindow *) data;
window->Close();
}
return rv;
unregrv = UnregisterTopLevelWindow(aWindow);
if (0 == mWindowList->Count())
mAppShell->Exit();
return closerv == NS_OK ? unregrv : closerv;
}
/*