Bug 593440 - Remove remaining child widgets on windows. r=roc, a=joe.

This commit is contained in:
Jim Mathies 2010-09-08 10:52:58 -05:00
parent 2d72b944f4
commit 4682c37ce5
2 changed files with 7 additions and 2 deletions

View File

@ -2279,7 +2279,9 @@ DocumentViewerImpl::MakeWindow(const nsSize& aSize, nsIView* aContainerView)
nsWindowType winType;
containerItem->GetItemType(&docType);
mParentWidget->GetWindowType(winType);
if (winType == eWindowType_toplevel &&
if ((winType == eWindowType_toplevel ||
winType == eWindowType_dialog ||
winType == eWindowType_invisible) &&
docType == nsIDocShellTreeItem::typeChrome) {
// If the old view is already attached to our parent, detach
DetachFromTopLevelWidget();

View File

@ -292,7 +292,10 @@ NS_IMETHODIMP
nsBaseWidget::AttachViewToTopLevel(EVENT_CALLBACK aViewEventFunction,
nsIDeviceContext *aContext)
{
NS_ASSERTION((mWindowType == eWindowType_toplevel), "Can't attach to child?");
NS_ASSERTION((mWindowType == eWindowType_toplevel ||
mWindowType == eWindowType_dialog ||
mWindowType == eWindowType_invisible),
"Can't attach to child?");
mViewCallback = aViewEventFunction;