From eafb57f6a9be12a3959d88b16975509a8706a796 Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Tue, 22 Nov 2011 11:51:52 -0800 Subject: [PATCH] Bug 703307 - Fix blackscreen in gonk, r=cjones --- widget/src/gonk/nsWindow.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/widget/src/gonk/nsWindow.cpp b/widget/src/gonk/nsWindow.cpp index 72be2b51803..c1b338765e1 100644 --- a/widget/src/gonk/nsWindow.cpp +++ b/widget/src/gonk/nsWindow.cpp @@ -143,13 +143,15 @@ nsWindow::Destroy(void) NS_IMETHODIMP nsWindow::Show(bool aState) { - if (!IS_TOPLEVEL()) + if (mWindowType == eWindowType_invisible) return NS_OK; + mVisible = aState; + if (!IS_TOPLEVEL()) + return mParent ? mParent->Show(aState) : NS_OK; + if (aState) BringToTop(); - else - mVisible = false; return NS_OK; } @@ -237,6 +239,12 @@ NS_IMETHODIMP nsWindow::Invalidate(const nsIntRect &aRect, bool aIsSynchronous) { + nsWindow *parent = mParent; + while (parent && parent != sTopWindows[0]) + parent = parent->mParent; + if (parent != sTopWindows[0]) + return NS_OK; + gWindowToRedraw = this; gDrawRequest = true; mozilla::NotifyEvent();