Commit 073d5f2b authored by Alexandre Julliard's avatar Alexandre Julliard

Queue hardware messages even if we don't find a window for them the

first time around.
parent bcb7591e
...@@ -1117,17 +1117,17 @@ static user_handle_t find_hardware_message_window( struct thread_input *input, s ...@@ -1117,17 +1117,17 @@ static user_handle_t find_hardware_message_window( struct thread_input *input, s
static void queue_hardware_message( struct msg_queue *queue, struct message *msg ) static void queue_hardware_message( struct msg_queue *queue, struct message *msg )
{ {
user_handle_t win; user_handle_t win;
struct thread *thread; struct thread *thread = NULL;
struct thread_input *input; struct thread_input *input = queue ? queue->input : foreground_input;
unsigned int msg_code; unsigned int msg_code;
win = find_hardware_message_window( queue ? queue->input : foreground_input, msg, &msg_code ); win = find_hardware_message_window( input, msg, &msg_code );
if (!win || !(thread = get_window_thread(win))) if (win && !(thread = get_window_thread(win)))
{ {
free( msg ); free( msg );
return; return;
} }
input = thread->queue->input; if (thread) input = thread->queue->input;
if (msg->msg == WM_MOUSEMOVE && merge_message( input, msg )) free( msg ); if (msg->msg == WM_MOUSEMOVE && merge_message( input, msg )) free( msg );
else else
...@@ -1135,7 +1135,7 @@ static void queue_hardware_message( struct msg_queue *queue, struct message *msg ...@@ -1135,7 +1135,7 @@ static void queue_hardware_message( struct msg_queue *queue, struct message *msg
list_add_tail( &input->msg_list, &msg->entry ); list_add_tail( &input->msg_list, &msg->entry );
set_queue_bits( thread->queue, get_hardware_msg_bit(msg) ); set_queue_bits( thread->queue, get_hardware_msg_bit(msg) );
} }
release_object( thread ); if (thread) release_object( thread );
} }
/* find a hardware message for the given queue */ /* find a hardware message for the given queue */
......
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