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.

This commit is contained in:
danm@netscape.com
1999-03-18 19:08:36 +00:00
parent 4e38345024
commit e3fe2c0e87
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;
}
/*