Nikolay Sivov : server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.

Alexandre Julliard julliard at winehq.org
Mon Jul 1 15:15:14 CDT 2019


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Mon Jul  1 14:09:30 2019 +0300

server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/tests/input.c | 2 --
 server/queue.c            | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
index f7e351b..168b055 100644
--- a/dlls/user32/tests/input.c
+++ b/dlls/user32/tests/input.c
@@ -1105,10 +1105,8 @@ static void test_unicode_keys(HWND hwnd, HHOOK hook)
 
     if (!key_status.sendinput_broken)
     {
-    todo_wine {
         ok(key_status.last_key_down == 0x51, "Unexpected key down %#x.\n", key_status.last_key_down);
         ok(key_status.last_key_up == 0x51, "Unexpected key up %#x.\n", key_status.last_key_up);
-    }
         if (hook)
             todo_wine
             ok(key_status.last_hook_up == 0x23, "Unexpected hook message %#x.\n", key_status.last_hook_up);
diff --git a/server/queue.c b/server/queue.c
index 2423991..96587d1 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1803,7 +1803,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
     msg->lparam    = (input->kbd.scan << 16) | 1u; /* repeat count */
     if (origin == IMO_INJECTED) msg_data->flags = LLKHF_INJECTED;
 
-    if (input->kbd.flags & KEYEVENTF_UNICODE)
+    if (input->kbd.flags & KEYEVENTF_UNICODE && !vkey)
     {
         msg->wparam = VK_PACKET;
     }




More information about the wine-cvs mailing list