summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-08-26 16:32:31 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-08-26 17:56:41 -0400
commit0091de63b4e515a183d05de9b3ae78febaa85175 (patch)
tree00fc0627b68b463665894ce66bcb05c9a63a1b93
parent338d6adb10fd24b6425d85ea5a3c7df348355d08 (diff)
downloadgtk+-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.c17
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