Commit 3cca65e3 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

win32u: Add a clipping_cursor member to user_thread_info.

parent 89a7c05a
......@@ -404,6 +404,7 @@ static const KBDTABLES kbdus_tables =
.fLocaleFlags = MAKELONG(0, KBD_VERSION),
};
static LONG clipping_cursor; /* clipping thread counter */
LONG global_key_state_counter = 0;
BOOL grab_pointer = TRUE;
......@@ -2504,6 +2505,9 @@ BOOL process_wine_clipcursor( BOOL empty, BOOL reset )
TRACE( "empty %u, reset %u\n", empty, reset );
if (thread_info->clipping_cursor) InterlockedDecrement( &clipping_cursor );
thread_info->clipping_cursor = FALSE;
if (reset)
{
thread_info->clipping_reset = NtGetTickCount();
......@@ -2514,7 +2518,10 @@ BOOL process_wine_clipcursor( BOOL empty, BOOL reset )
if (empty) return user_driver->pClipCursor( NULL, reset );
get_clip_cursor( &rect );
return user_driver->pClipCursor( &rect, FALSE );
if (!user_driver->pClipCursor( &rect, FALSE )) return FALSE;
InterlockedIncrement( &clipping_cursor );
thread_info->clipping_cursor = TRUE;
return TRUE;
}
/***********************************************************************
......
......@@ -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 */
BOOL clipping_cursor; /* thread is currently clipping */
DWORD clipping_reset; /* time when clipping was last reset */
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment