diff options
author | Olivier Fourdan <ofourdan@redhat.com> | 2016-11-29 14:21:57 +0100 |
---|---|---|
committer | Olivier Fourdan <ofourdan@redhat.com> | 2016-11-30 10:05:47 +0100 |
commit | bd4519922ce5f85adaa4451b007034aef5c1d63e (patch) | |
tree | 4444f0f76bad0242e431ab3a40659f7bab5382c9 /gdk/gdkwindow.c | |
parent | c8b92cb0d2494352bf2558409f3025f0d9d22cf7 (diff) | |
download | gtk+-bd4519922ce5f85adaa4451b007034aef5c1d63e.tar.gz |
wayland: Check for subsurface looking up the toplevel
gdk_window_get_toplevel() walks up the windows tree looking for the
corresponding toplevel window, but needs to account for subsurfaces as
well on Wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=775319
Diffstat (limited to 'gdk/gdkwindow.c')
-rw-r--r-- | gdk/gdkwindow.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4051d8dff4..2ff89ee8e6 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2278,7 +2278,8 @@ gdk_window_get_toplevel (GdkWindow *window) { g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); - while (window->window_type == GDK_WINDOW_CHILD) + while (window->window_type == GDK_WINDOW_CHILD || + window->window_type == GDK_WINDOW_SUBSURFACE) { if (gdk_window_is_toplevel (window)) break; |