[gtk+] wayland: do not update shadows for child windows



commit 83e775147f35145ff4e7122089fb48ddf8617fa5
Author: Olivier Fourdan <ofourdan redhat com>
Date:   Thu Apr 7 15:56:46 2016 +0200

    wayland: do not update shadows for child windows
    
    glade-previewer places a gtkwindow inside another toplevel gtkwindow,
    updating the shadow width for the client induces a busy loop where the
    parent will grow continuously until it crashes gnome-shell/mutter.
    
    To avoid the loop, do not update the shadow width if not dealing with a
    toplevel window.
    
    Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761651

 gtk/gtkwindow.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index f1d736c..72053cf 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7104,13 +7104,15 @@ update_realized_window_properties (GtkWindow     *window,
 {
   GtkWindowPrivate *priv = window->priv;
 
+  if (!_gtk_widget_is_toplevel (GTK_WIDGET (window)))
+    return;
+
   if (priv->client_decorated && priv->use_client_shadow)
     update_shadow_width (window, window_border);
 
   update_opaque_region (window, window_border, child_allocation);
 
-  if (_gtk_widget_is_toplevel (GTK_WIDGET (window)))
-    update_border_windows (window);
+  update_border_windows (window);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]