Module: wine Branch: master Commit: 3bce247bd2c6b678d23c271fb5a8c8867a1be3f2 URL: https://gitlab.winehq.org/wine/wine/-/commit/3bce247bd2c6b678d23c271fb5a8c88...
Author: Rémi Bernon rbernon@codeweavers.com Date: Fri May 26 22:18:32 2023 +0200
win32u: Add a separate function to process WM_WINE_CLIPCURSOR.
---
dlls/win32u/input.c | 12 ++++++++++++ dlls/win32u/message.c | 8 +------- dlls/win32u/win32u_private.h | 1 + 3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 3fc7c85aaa2..22f371969b9 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2497,6 +2497,18 @@ BOOL get_clip_cursor( RECT *rect ) return ret; }
+BOOL process_wine_clipcursor( BOOL empty ) +{ + RECT rect; + + TRACE( "empty %u\n", empty ); + + if (empty) return user_driver->pClipCursor( NULL ); + + get_clip_cursor( &rect ); + return user_driver->pClipCursor( &rect ); +} + /*********************************************************************** * NtUserClipCursor (win32u.@) */ diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c index b3d94120455..dfe9eadd34a 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c @@ -1272,13 +1272,7 @@ static LRESULT handle_internal_message( HWND hwnd, UINT msg, WPARAM wparam, LPAR return call_current_hook( h_extra->handle, HC_ACTION, wparam, h_extra->lparam ); } case WM_WINE_CLIPCURSOR: - if (wparam) - { - RECT rect; - get_clip_cursor( &rect ); - return user_driver->pClipCursor( &rect ); - } - return user_driver->pClipCursor( NULL ); + return process_wine_clipcursor( !wparam ); case WM_WINE_UPDATEWINDOWSTATE: update_window_state( hwnd ); return 0; diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index 4116cda449a..a459db75d94 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -101,6 +101,7 @@ extern BOOL set_foreground_window( HWND hwnd, BOOL mouse ) DECLSPEC_HIDDEN; extern void toggle_caret( HWND hwnd ) DECLSPEC_HIDDEN; extern void update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN; extern BOOL get_clip_cursor( RECT *rect ) DECLSPEC_HIDDEN; +extern BOOL process_wine_clipcursor( BOOL empty ) DECLSPEC_HIDDEN;
/* menu.c */ extern HMENU create_menu( BOOL is_popup ) DECLSPEC_HIDDEN;