Commit fa873804 authored by Brendan McGrath's avatar Brendan McGrath Committed by Alexandre Julliard

server: Always release internal hardware messages.

parent 5b0430a1
...@@ -2193,6 +2193,11 @@ static int check_hw_message_filter( user_handle_t win, unsigned int msg_code, ...@@ -2193,6 +2193,11 @@ static int check_hw_message_filter( user_handle_t win, unsigned int msg_code,
} }
} }
/* is this message an internal driver notification message */
static inline BOOL is_internal_hardware_message( unsigned int message )
{
return (message >= WM_WINE_FIRST_DRIVER_MSG && message <= WM_WINE_LAST_DRIVER_MSG);
}
/* find a hardware message for the given queue */ /* find a hardware message for the given queue */
static int get_hardware_message( struct thread *thread, unsigned int hw_id, user_handle_t filter_win, static int get_hardware_message( struct thread *thread, unsigned int hw_id, user_handle_t filter_win,
...@@ -2287,7 +2292,8 @@ static int get_hardware_message( struct thread *thread, unsigned int hw_id, user ...@@ -2287,7 +2292,8 @@ static int get_hardware_message( struct thread *thread, unsigned int hw_id, user
data->hw_id = msg->unique_id; data->hw_id = msg->unique_id;
set_reply_data( msg->data, msg->data_size ); set_reply_data( msg->data, msg->data_size );
if (get_hardware_msg_bit( msg->msg ) == QS_RAWINPUT && (flags & PM_REMOVE)) if ((get_hardware_msg_bit( msg->msg ) == QS_RAWINPUT && (flags & PM_REMOVE)) ||
is_internal_hardware_message( msg->msg ))
release_hardware_message( current->queue, data->hw_id ); release_hardware_message( current->queue, data->hw_id );
return 1; return 1;
} }
......
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