diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-03-09 08:58:23 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-03-09 08:58:23 -0500 |
commit | ed5468e81ce3fe2d75703cfd51481986902f5165 (patch) | |
tree | c6d9d5fe2410d865a01ba6adf7709fb14c140e96 | |
parent | 9ab920164ab50393a68f4b024c89f65c2c516884 (diff) | |
download | gtk+-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.c | 3 |
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. |