Index: embedding/browser/gtk/src/EmbedWindow.cpp =================================================================== RCS file: /cvsroot/mozilla/embedding/browser/gtk/src/EmbedWindow.cpp,v retrieving revision 1.31 diff -d -u -p -r1.31 EmbedWindow.cpp --- embedding/browser/gtk/src/EmbedWindow.cpp 17 Jan 2005 17:19:39 -0000 1.31 +++ embedding/browser/gtk/src/EmbedWindow.cpp 27 Sep 2006 00:41:38 -0000 @@ -359,7 +359,14 @@ EmbedWindow::GetSiteWindow(void **aSiteW NS_IMETHODIMP EmbedWindow::GetVisibility(PRBool *aVisibility) { - *aVisibility = mVisibility; + // XXX See bug 312998 + // Work around the problem that sometimes the window + // is already visible even though mVisibility isn't true + // yet. + *aVisibility = mVisibility || + (!mOwner->mIsChrome && + mOwner->mOwningWidget && + GTK_WIDGET_MAPPED(mOwner->mOwningWidget)); return NS_OK; }