Module: wine Branch: master Commit: fd7fcc995edeb2fdccb986ff39cdd136bb376ebb URL: https://gitlab.winehq.org/wine/wine/-/commit/fd7fcc995edeb2fdccb986ff39cdd13...
Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Jun 3 20:14:50 2024 +0200
win32u: Parameterize get_clip_cursor dpi.
---
dlls/win32u/input.c | 7 +++---- dlls/win32u/sysparams.c | 2 +- dlls/win32u/win32u_private.h | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index a58a8369559..05d8eb05d12 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2553,9 +2553,8 @@ BOOL WINAPI NtUserGetPointerInfoList( UINT32 id, POINTER_INPUT_TYPE type, UINT_P return FALSE; }
-BOOL get_clip_cursor( RECT *rect ) +BOOL get_clip_cursor( RECT *rect, UINT dpi ) { - UINT dpi; BOOL ret;
if (!rect) return FALSE; @@ -2568,7 +2567,7 @@ BOOL get_clip_cursor( RECT *rect ) } SERVER_END_REQ;
- if (ret && (dpi = get_thread_dpi())) + if (ret) { HMONITOR monitor = monitor_from_rect( rect, MONITOR_DEFAULTTOPRIMARY, 0 ); *rect = map_dpi_rect( *rect, get_monitor_dpi( monitor ), dpi ); @@ -2596,7 +2595,7 @@ BOOL process_wine_clipcursor( HWND hwnd, UINT flags, BOOL reset ) if (!grab_pointer) return TRUE;
/* we are clipping if the clip rectangle is smaller than the screen */ - get_clip_cursor( &rect ); + get_clip_cursor( &rect, 0 ); intersect_rect( &rect, &rect, &virtual_rect ); if (EqualRect( &rect, &virtual_rect )) empty = TRUE; if (empty && !(flags & SET_CURSOR_FSCLIP)) diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 56410cbf48c..23b03d858a3 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -6404,7 +6404,7 @@ ULONG_PTR WINAPI NtUserCallOneParam( ULONG_PTR arg, ULONG code ) return enum_clipboard_formats( arg );
case NtUserCallOneParam_GetClipCursor: - return get_clip_cursor( (RECT *)arg ); + return get_clip_cursor( (RECT *)arg, get_thread_dpi() );
case NtUserCallOneParam_GetCursorPos: return get_cursor_pos( (POINT *)arg ); diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 8cc4d1beed3..43cdda55e2c 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -103,7 +103,7 @@ extern BOOL set_caret_pos( int x, int y ); extern BOOL set_foreground_window( HWND hwnd, BOOL mouse ); extern void toggle_caret( HWND hwnd ); extern void update_mouse_tracking_info( HWND hwnd ); -extern BOOL get_clip_cursor( RECT *rect ); +extern BOOL get_clip_cursor( RECT *rect, UINT dpi ); extern BOOL process_wine_clipcursor( HWND hwnd, UINT flags, BOOL reset ); extern BOOL clip_fullscreen_window( HWND hwnd, BOOL reset ); extern USHORT map_scan_to_kbd_vkey( USHORT scan, HKL layout );