diff options
Diffstat (limited to 'gdk/win32/gdkdevice-win32.c')
-rw-r--r-- | gdk/win32/gdkdevice-win32.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gdk/win32/gdkdevice-win32.c b/gdk/win32/gdkdevice-win32.c index 283df3c519..9cfcef1b83 100644 --- a/gdk/win32/gdkdevice-win32.c +++ b/gdk/win32/gdkdevice-win32.c @@ -72,6 +72,7 @@ gdk_device_win32_query_state (GdkDevice *device, double *win_y, GdkModifierType *mask) { + GdkDisplay *display = gdk_device_get_display (device); POINT point; HWND hwnd, hwndc; int scale; @@ -83,8 +84,6 @@ gdk_device_win32_query_state (GdkDevice *device, } else { - GdkDisplay *display = gdk_device_get_display (device); - scale = GDK_WIN32_DISPLAY (display)->surface_scale; hwnd = NULL; } @@ -105,7 +104,7 @@ gdk_device_win32_query_state (GdkDevice *device, hwndc = ChildWindowFromPoint (hwnd, point); if (hwndc && hwndc != hwnd) - *child_window = gdk_win32_handle_table_lookup (hwndc); + *child_window = gdk_win32_surface_lookup_for_display (display, hwndc); else *child_window = NULL; /* Direct child unknown to gdk */ } @@ -162,6 +161,7 @@ _gdk_device_win32_surface_at_position (GdkDevice *device, double *win_y, GdkModifierType *mask) { + GdkDisplay *display = gdk_device_get_display (device); GdkSurface *window = NULL; GdkWin32Surface *impl = NULL; POINT screen_pt, client_pt; @@ -183,7 +183,8 @@ _gdk_device_win32_surface_at_position (GdkDevice *device, if (!PtInRect (&rect, client_pt)) hwnd = NULL; - window = gdk_win32_handle_table_lookup (hwnd); + if (hwnd) + window = gdk_win32_surface_lookup_for_display (display, hwnd); if (window && (win_x || win_y)) { |