summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-03-09 08:58:23 -0500
committerMatthias Clasen <mclasen@redhat.com>2016-03-09 08:58:23 -0500
commited5468e81ce3fe2d75703cfd51481986902f5165 (patch)
treec6d9d5fe2410d865a01ba6adf7709fb14c140e96
parent9ab920164ab50393a68f4b024c89f65c2c516884 (diff)
downloadgtk+-ed5468e81ce3fe2d75703cfd51481986902f5165.tar.gz
window: Avoid excessive resizing with popovers
Under Wayland, popovers use subsurfaces, and we end up getting configure events for these delivered to the toplevel they're in. To avoid triggering resize loops, ignore configure events that are not for the toplevel window itself. https://bugzilla.gnome.org/show_bug.cgi?id=763351
-rw-r--r--gtk/gtkwindow.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index f5cf1baf8f..a2be09da83 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7655,6 +7655,9 @@ gtk_window_configure_event (GtkWidget *widget,
if (!_gtk_widget_is_toplevel (widget))
return FALSE;
+ if (_gtk_widget_get_window (widget) != event->window)
+ return TRUE;
+
/* If this is a gratuitous ConfigureNotify that's already
* the same as our allocation, then we can fizzle it out.
* This is the case for dragging windows around.