Module: wine Branch: master Commit: 89a7c05ad91e7ba92326205593918fec2c75e7bc URL: https://gitlab.winehq.org/wine/wine/-/commit/89a7c05ad91e7ba92326205593918fe... Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Thu Jun 8 00:31:45 2023 +0200 win32u: Add a clipping_reset member to user_thread_info. --- dlls/win32u/input.c | 7 ++++++- dlls/win32u/ntuser_private.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index cea18b89920..2b951576c57 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2499,11 +2499,16 @@ BOOL get_clip_cursor( RECT *rect ) BOOL process_wine_clipcursor( BOOL empty, BOOL reset ) { + struct user_thread_info *thread_info = get_user_thread_info(); RECT rect; TRACE( "empty %u, reset %u\n", empty, reset ); - if (reset) return user_driver->pClipCursor( NULL, TRUE ); + if (reset) + { + thread_info->clipping_reset = NtGetTickCount(); + return user_driver->pClipCursor( NULL, TRUE ); + } if (!grab_pointer) return TRUE; if (empty) return user_driver->pClipCursor( NULL, reset ); diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h index 0e7d84e3faa..88e644d2522 100644 --- a/dlls/win32u/ntuser_private.h +++ b/dlls/win32u/ntuser_private.h @@ -130,6 +130,7 @@ struct user_thread_info UINT kbd_layout_id; /* Current keyboard layout ID */ struct rawinput_thread_data *rawinput; /* RawInput thread local data / buffer */ UINT spy_indent; /* Current spy indent */ + DWORD clipping_reset; /* time when clipping was last reset */ }; C_ASSERT( sizeof(struct user_thread_info) <= sizeof(((TEB *)0)->Win32ClientInfo) );