summaryrefslogtreecommitdiff
path: root/gdk/gdkwindow.c
diff options
context:
space:
mode:
authorOlivier Fourdan <ofourdan@redhat.com>2016-11-29 14:21:57 +0100
committerOlivier Fourdan <ofourdan@redhat.com>2016-11-30 10:05:47 +0100
commitbd4519922ce5f85adaa4451b007034aef5c1d63e (patch)
tree4444f0f76bad0242e431ab3a40659f7bab5382c9 /gdk/gdkwindow.c
parentc8b92cb0d2494352bf2558409f3025f0d9d22cf7 (diff)
downloadgtk+-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.c3
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;