From 3ec7a6c861d896b4ac3f0203bc2d50f6c7a3cbec Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 26 Aug 2020 16:35:28 -0400 Subject: [PATCH] win32: Fix return value of get_device_state We need to look a the position, not the child surface. --- gdk/win32/gdksurface-win32.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c index 4708ea7935..33a279f8e1 100644 --- a/gdk/win32/gdksurface-win32.c +++ b/gdk/win32/gdksurface-win32.c @@ -1724,19 +1724,16 @@ gdk_win32_surface_get_root_coords (GdkSurface *window, } static gboolean -gdk_surface_win32_get_device_state (GdkSurface *window, - GdkDevice *device, - double *x, - double *y, - GdkModifierType *mask) +gdk_surface_win32_get_device_state (GdkSurface *window, + GdkDevice *device, + double *x, + double *y, + GdkModifierType *mask) { - GdkSurface *child; + _gdk_device_win32_query_state (device, window, NULL, x, y, mask); - g_return_val_if_fail (window == NULL || GDK_IS_SURFACE (window), FALSE); + return *x >= 0 && *y >= 0 && *x < window->width && *y < window->height; - _gdk_device_win32_query_state (device, window, &child, x, y, mask); - - return (child != NULL); } static void