Module: wine Branch: master Commit: 434871fd1b6d1fef8c68e8d35689caec49367e20 URL: https://source.winehq.org/git/wine.git/?a=commit;h=434871fd1b6d1fef8c68e8d35...
Author: Huw Davies huw@codeweavers.com Date: Tue Jul 7 11:21:50 2020 +0100
server: Remove unnecessary 'remove' parameter from accept_hardware_message request.
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/message.c | 17 ++++++++--------- include/wine/server_protocol.h | 4 +--- server/protocol.def | 3 +-- server/queue.c | 36 +++++++++++++++--------------------- server/request.h | 3 +-- server/trace.c | 1 - 6 files changed, 26 insertions(+), 38 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c index c5c7db667c..53e0b6495b 100644 --- a/dlls/user32/message.c +++ b/dlls/user32/message.c @@ -2271,12 +2271,11 @@ static void send_parent_notify( HWND hwnd, WORD event, WORD idChild, POINT pt ) * Tell the server we have passed the message to the app * (even though we may end up dropping it later on) */ -static void accept_hardware_message( UINT hw_id, BOOL remove ) +static void accept_hardware_message( UINT hw_id ) { SERVER_START_REQ( accept_hardware_message ) { - req->hw_id = hw_id; - req->remove = remove; + req->hw_id = hw_id; if (wine_server_call( req )) FIXME("Failed to reply to MSG_HARDWARE message. Message may not be removed from queue.\n"); } @@ -2363,10 +2362,10 @@ static BOOL process_keyboard_message( MSG *msg, UINT hw_id, HWND hwnd_filter, { /* skip this message */ HOOK_CallHooks( WH_CBT, HCBT_KEYSKIPPED, LOWORD(msg->wParam), msg->lParam, TRUE ); - accept_hardware_message( hw_id, TRUE ); + accept_hardware_message( hw_id ); return FALSE; } - accept_hardware_message( hw_id, remove ); + if (remove) accept_hardware_message( hw_id ); msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt );
if ( remove && msg->message == WM_KEYDOWN ) @@ -2421,7 +2420,7 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H
if (!msg->hwnd || !WIN_IsCurrentThread( msg->hwnd )) { - accept_hardware_message( hw_id, TRUE ); + accept_hardware_message( hw_id ); return FALSE; }
@@ -2517,7 +2516,7 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H hook.s.dwExtraInfo = extra_info; hook.mouseData = msg->wParam; HOOK_CallHooks( WH_CBT, HCBT_CLICKSKIPPED, message, (LPARAM)&hook, TRUE ); - accept_hardware_message( hw_id, TRUE ); + accept_hardware_message( hw_id ); return FALSE; }
@@ -2525,11 +2524,11 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H { SendMessageW( msg->hwnd, WM_SETCURSOR, (WPARAM)msg->hwnd, MAKELONG( hittest, msg->message )); - accept_hardware_message( hw_id, TRUE ); + accept_hardware_message( hw_id ); return FALSE; }
- accept_hardware_message( hw_id, remove ); + if (remove) accept_hardware_message( hw_id );
if (!remove || info.hwndCapture) { diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h index d453f5e661..0f1a0b4477 100644 --- a/include/wine/server_protocol.h +++ b/include/wine/server_protocol.h @@ -3197,8 +3197,6 @@ struct accept_hardware_message_request { struct request_header __header; unsigned int hw_id; - int remove; - char __pad_20[4]; }; struct accept_hardware_message_reply { @@ -6671,7 +6669,7 @@ union generic_reply
/* ### protocol_version begin ### */
-#define SERVER_PROTOCOL_VERSION 616 +#define SERVER_PROTOCOL_VERSION 617
/* ### protocol_version end ### */
diff --git a/server/protocol.def b/server/protocol.def index 34c6b5f65d..e55d47bcd2 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -2352,10 +2352,9 @@ enum message_type @END
-/* Accept the current hardware message */ +/* Accept and remove the current hardware message */ @REQ(accept_hardware_message) unsigned int hw_id; /* id of the hardware message */ - int remove; /* should we remove the message? */ @END
diff --git a/server/queue.c b/server/queue.c index 432885f9e4..a65eab38bd 100644 --- a/server/queue.c +++ b/server/queue.c @@ -1384,11 +1384,11 @@ static void update_desktop_mouse_state( struct desktop *desktop, unsigned int fl }
/* release the hardware message currently being processed by the given thread */ -static void release_hardware_message( struct msg_queue *queue, unsigned int hw_id, - int remove ) +static void release_hardware_message( struct msg_queue *queue, unsigned int hw_id ) { struct thread_input *input = queue->input; - struct message *msg; + struct message *msg, *other; + int clr_bit;
LIST_FOR_EACH_ENTRY( msg, &input->msg_list, struct message, entry ) { @@ -1397,26 +1397,20 @@ static void release_hardware_message( struct msg_queue *queue, unsigned int hw_i if (&msg->entry == &input->msg_list) return; /* not found */
/* clear the queue bit for that message */ - if (remove) + clr_bit = get_hardware_msg_bit( msg ); + LIST_FOR_EACH_ENTRY( other, &input->msg_list, struct message, entry ) { - struct message *other; - int clr_bit; - - clr_bit = get_hardware_msg_bit( msg ); - LIST_FOR_EACH_ENTRY( other, &input->msg_list, struct message, entry ) + if (other != msg && get_hardware_msg_bit( other ) == clr_bit) { - if (other != msg && get_hardware_msg_bit( other ) == clr_bit) - { - clr_bit = 0; - break; - } + clr_bit = 0; + break; } - if (clr_bit) clear_queue_bits( queue, clr_bit ); - - update_input_key_state( input->desktop, input->keystate, msg->msg, msg->wparam ); - list_remove( &msg->entry ); - free_message( msg ); } + if (clr_bit) clear_queue_bits( queue, clr_bit ); + + update_input_key_state( input->desktop, input->keystate, msg->msg, msg->wparam ); + list_remove( &msg->entry ); + free_message( msg ); }
static int queue_hotkey_message( struct desktop *desktop, struct message *msg ) @@ -2080,7 +2074,7 @@ static int get_hardware_message( struct thread *thread, unsigned int hw_id, user data->hw_id = msg->unique_id; set_reply_data( msg->data, msg->data_size ); if (msg->msg == WM_INPUT && (flags & PM_REMOVE)) - release_hardware_message( current->queue, data->hw_id, 1 ); + release_hardware_message( current->queue, data->hw_id ); return 1; } /* nothing found, clear the hardware queue bits */ @@ -2606,7 +2600,7 @@ DECL_HANDLER(reply_message) DECL_HANDLER(accept_hardware_message) { if (current->queue) - release_hardware_message( current->queue, req->hw_id, req->remove ); + release_hardware_message( current->queue, req->hw_id ); else set_error( STATUS_ACCESS_DENIED ); } diff --git a/server/request.h b/server/request.h index d6e2613c0a..a81d64527d 100644 --- a/server/request.h +++ b/server/request.h @@ -1567,8 +1567,7 @@ C_ASSERT( FIELD_OFFSET(struct reply_message_request, remove) == 12 ); C_ASSERT( FIELD_OFFSET(struct reply_message_request, result) == 16 ); C_ASSERT( sizeof(struct reply_message_request) == 24 ); C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request, hw_id) == 12 ); -C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request, remove) == 16 ); -C_ASSERT( sizeof(struct accept_hardware_message_request) == 24 ); +C_ASSERT( sizeof(struct accept_hardware_message_request) == 16 ); C_ASSERT( FIELD_OFFSET(struct get_message_reply_request, cancel) == 12 ); C_ASSERT( sizeof(struct get_message_reply_request) == 16 ); C_ASSERT( FIELD_OFFSET(struct get_message_reply_reply, result) == 8 ); diff --git a/server/trace.c b/server/trace.c index ad34cef118..16c35b93b5 100644 --- a/server/trace.c +++ b/server/trace.c @@ -2887,7 +2887,6 @@ static void dump_reply_message_request( const struct reply_message_request *req static void dump_accept_hardware_message_request( const struct accept_hardware_message_request *req ) { fprintf( stderr, " hw_id=%08x", req->hw_id ); - fprintf( stderr, ", remove=%d", req->remove ); }
static void dump_get_message_reply_request( const struct get_message_reply_request *req )