diff options
-rw-r--r-- | gdk/x11/gdksurface-x11.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c index 2c3cdf86b4..d7ed8d034a 100644 --- a/gdk/x11/gdksurface-x11.c +++ b/gdk/x11/gdksurface-x11.c @@ -2659,19 +2659,18 @@ gdk_x11_surface_get_frame_extents (GdkSurface *surface, } static gboolean -gdk_x11_surface_get_device_state (GdkSurface *surface, - GdkDevice *device, - double *x, - double *y, - GdkModifierType *mask) +gdk_x11_surface_get_device_state (GdkSurface *surface, + GdkDevice *device, + double *x, + double *y, + GdkModifierType *mask) { - GdkSurface *child; - if (GDK_SURFACE_DESTROYED (surface)) return FALSE; - gdk_x11_device_xi2_query_state (device, surface, &child, x, y, mask); - return child != NULL; + gdk_x11_device_xi2_query_state (device, surface, NULL, x, y, mask); + + return *x >= 0 && *y >= 0 && *x < surface->width && *y < surface->height; } static void |