Bug 506007: Compositor breaks Fennec on Maemo/Hidon, r=karlt
authorMark Finkle <mfinkle@mozilla.com>
Thu, 23 Jul 2009 22:08:07 -0400
changeset 30631 4f202bc596562109778013862ca215e0adbca73b
parent 30630 fd1dc82267600ca8396381168c4fa5e3084a2331
child 30632 0bf3263fba5df102e96ad9daad67e4342627d534
push id8171
push usermfinkle@mozilla.com
push dateFri, 24 Jul 2009 02:07:05 +0000
treeherdermozilla-central@4f202bc59656 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskarlt
bugs506007
milestone1.9.2a1pre
Bug 506007: Compositor breaks Fennec on Maemo/Hidon, r=karlt
widget/src/gtk2/nsWindow.cpp
--- a/widget/src/gtk2/nsWindow.cpp
+++ b/widget/src/gtk2/nsWindow.cpp
@@ -2160,17 +2160,17 @@ nsWindow::OnExposeEvent(GtkWidget *aWidg
 
     PRBool translucent = eTransparencyTransparent == GetTransparencyMode();
     if (!translucent) {
         GList *children =
             gdk_window_peek_children(mDrawingarea->inner_window);
         while (children) {
             GdkWindow *gdkWin = GDK_WINDOW(children->data);
             nsWindow *kid = get_window_for_gdk_window(gdkWin);
-            if (kid) {
+            if (kid && gdk_window_is_visible(gdkWin)) {
                 nsAutoTArray<nsIntRect,1> clipRects;
                 kid->GetWindowClipRegion(&clipRects);
                 nsIntRect bounds;
                 kid->GetBounds(bounds);
                 for (PRUint32 i = 0; i < clipRects.Length(); ++i) {
                     nsIntRect r = clipRects[i] + bounds.TopLeft();
                     updateRegion->Subtract(r.x, r.y, r.width, r.height);
                 }