Andre Heider : server: Fix keyboard hardware message regression.

Alexandre Julliard julliard at winehq.org
Mon Nov 12 16:26:55 CST 2018


Module: wine
Branch: master
Commit: 27ff04e2ab9d50c42c4d4ab4bf12b9aeb1cdc990
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=27ff04e2ab9d50c42c4d4ab4bf12b9aeb1cdc990

Author: Andre Heider <a.heider at gmail.com>
Date:   Sat Nov 10 21:59:07 2018 +0100

server: Fix keyboard hardware message regression.

Signed-off-by: Andre Heider <a.heider at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at 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 */




More information about the wine-cvs mailing list