server: Don't reset cursor clipping on foreground thread exit.

It will be reset on foreground input changes, when it happens.
This commit is contained in:
Rémi Bernon 2023-05-31 11:11:10 +02:00 committed by Alexandre Julliard
parent b863d3ab14
commit 88cbc08b7f
2 changed files with 4 additions and 5 deletions

View file

@ -5282,7 +5282,6 @@ static void test_ClipCursor_process(void)
InflateRect( &clip_rect, +1, +1 );
ok_ret( 1, DestroyWindow( hwnd ) );
ok_ret( 1, GetClipCursor( &rect ) );
todo_wine
ok_rect( clip_rect, rect );
/* intentionally leaking clipping rect */
@ -5339,7 +5338,6 @@ static void test_ClipCursor_desktop( char **argv )
/* as foreground window is now transient, cursor clipping isn't reset */
InflateRect( &clip_rect, +1, +1 );
ok_ret( 1, GetClipCursor( &rect ) );
todo_wine
ok_rect( clip_rect, rect );
/* intentionally leaking clipping rect */

View file

@ -1093,12 +1093,13 @@ static void thread_input_dump( struct object *obj, int verbose )
static void thread_input_destroy( struct object *obj )
{
struct thread_input *input = (struct thread_input *)obj;
struct desktop *desktop;
empty_msg_list( &input->msg_list );
if (input->desktop)
if ((desktop = input->desktop))
{
if (input->desktop->foreground_input == input) set_foreground_input( input->desktop, NULL );
release_object( input->desktop );
if (desktop->foreground_input == input) desktop->foreground_input = NULL;
release_object( desktop );
}
}