diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-08-26 16:32:31 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-08-26 17:56:41 -0400 |
commit | 0091de63b4e515a183d05de9b3ae78febaa85175 (patch) | |
tree | 00fc0627b68b463665894ce66bcb05c9a63a1b93 | |
parent | 338d6adb10fd24b6425d85ea5a3c7df348355d08 (diff) | |
download | gtk+-0091de63b4e515a183d05de9b3ae78febaa85175.tar.gz |
wayland: Fix return value of get_device_state
We need to look a the position, not the child surface.
-rw-r--r-- | gdk/wayland/gdksurface-wayland.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c index b6ff57a5b0..45769984ea 100644 --- a/gdk/wayland/gdksurface-wayland.c +++ b/gdk/wayland/gdksurface-wayland.c @@ -3170,21 +3170,12 @@ gdk_wayland_surface_get_device_state (GdkSurface *surface, double *y, GdkModifierType *mask) { - gboolean return_val; - - g_return_val_if_fail (surface == NULL || GDK_IS_SURFACE (surface), FALSE); - - return_val = TRUE; - - if (!GDK_SURFACE_DESTROYED (surface)) - { - GdkSurface *child; + if (GDK_SURFACE_DESTROYED (surface)) + return FALSE; - gdk_wayland_device_query_state (device, surface, &child, x, y, mask); - return_val = (child != NULL); - } + gdk_wayland_device_query_state (device, surface, NULL, x, y, mask); - return return_val; + return *x >= 0 && *y >= 0 && *x < surface->width && *y < surface->height; } static void |