Module: wine Branch: master Commit: 27ff04e2ab9d50c42c4d4ab4bf12b9aeb1cdc990 URL: https://source.winehq.org/git/wine.git/?a=commit;h=27ff04e2ab9d50c42c4d4ab4b... Author: Andre Heider <a.heider(a)gmail.com> Date: Sat Nov 10 21:59:07 2018 +0100 server: Fix keyboard hardware message regression. Signed-off-by: Andre Heider <a.heider(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- server/queue.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/queue.c b/server/queue.c index 9dfbd1e..545991b 100644 --- a/server/queue.c +++ b/server/queue.c @@ -1775,11 +1775,11 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c break; } - if (!(msg = alloc_hardware_message( input->kbd.info, source, time ))) return 0; - msg_data = msg->data; - if ((device = current->process->rawinput_kbd)) { + if (!(msg = alloc_hardware_message( input->kbd.info, source, time ))) return 0; + msg_data = msg->data; + msg->win = device->target; msg->msg = WM_INPUT; msg->wparam = RIM_INPUT; @@ -1793,6 +1793,9 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c queue_hardware_message( desktop, msg, 0 ); } + if (!(msg = alloc_hardware_message( input->kbd.info, source, time ))) return 0; + msg_data = msg->data; + msg->win = get_user_full_handle( win ); msg->msg = message_code; msg->lparam = (input->kbd.scan << 16) | 1u; /* repeat count */