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
This commit is contained in:
Olivier Fourdan 2016-04-07 15:56:46 +02:00
parent d3a3d0673f
commit 83e775147f

View File

@ -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