mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 092c7a09a5afde3f11b71b1816388e80d062e8ec.
This commit is contained in:
parent
d805441f46
commit
425f75f839
@ -1,4 +1,4 @@
|
||||
From 27332457e843bbef5d08dd45249956ade1258476 Mon Sep 17 00:00:00 2001
|
||||
From dd0c922c02e793aba906cfad855c2474a3c2fe3b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 9 Jul 2019 14:13:28 +1000
|
||||
Subject: [PATCH] user32: Improve GetKeyboardLayoutList
|
||||
@ -55,11 +55,11 @@ index 7ac77141696..56009667b00 100644
|
||||
if (baselayout != 0)
|
||||
{
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index ce272ed73f4..9ac14b607cf 100644
|
||||
index 2397b4104e4..a5c8521c0e9 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -3979,6 +3979,40 @@ static void test_UnregisterDeviceNotification(void)
|
||||
ok(ret == FALSE, "Unregistering NULL Device Notification returned: %d\n", ret);
|
||||
@@ -4322,6 +4322,40 @@ static void test_SendInput(void)
|
||||
DestroyWindow( hwnd );
|
||||
}
|
||||
|
||||
+static void test_GetKeyboardLayoutList(void)
|
||||
@ -99,7 +99,7 @@ index ce272ed73f4..9ac14b607cf 100644
|
||||
START_TEST(input)
|
||||
{
|
||||
char **argv;
|
||||
@@ -4020,6 +4054,7 @@ START_TEST(input)
|
||||
@@ -4364,6 +4398,7 @@ START_TEST(input)
|
||||
test_GetRawInputBuffer();
|
||||
test_RegisterRawInputDevices();
|
||||
test_rawinput(argv[0]);
|
||||
@ -108,5 +108,5 @@ index ce272ed73f4..9ac14b607cf 100644
|
||||
if(pGetMouseMovePointsEx)
|
||||
test_GetMouseMovePointsEx(argv[0]);
|
||||
--
|
||||
2.28.0
|
||||
2.30.2
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "c6393968754d64189f111e9277fb9060ec415fae"
|
||||
echo "092c7a09a5afde3f11b71b1816388e80d062e8ec"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -3853,14 +3853,12 @@ fi
|
||||
# | Modified files:
|
||||
# | * dlls/hidclass.sys/Makefile.in, dlls/hidclass.sys/device.c, dlls/hidclass.sys/hid.h, dlls/hidclass.sys/pnp.c,
|
||||
# | dlls/ntoskrnl.exe/ntoskrnl.exe.spec, dlls/ntoskrnl.exe/pnp.c, dlls/user32/input.c, dlls/user32/message.c,
|
||||
# | dlls/user32/rawinput.c, dlls/user32/tests/input.c, dlls/user32/user32.spec, dlls/user32/user_private.h,
|
||||
# | dlls/wineandroid.drv/keyboard.c, dlls/wineandroid.drv/window.c, dlls/winemac.drv/ime.c, dlls/winemac.drv/keyboard.c,
|
||||
# | dlls/winemac.drv/mouse.c, dlls/winex11.drv/keyboard.c, dlls/winex11.drv/mouse.c, include/ddk/wdm.h, include/winuser.h,
|
||||
# | server/protocol.def, server/queue.c, server/trace.c
|
||||
# | dlls/user32/rawinput.c, dlls/user32/user32.spec, dlls/user32/user_private.h, dlls/wineandroid.drv/keyboard.c,
|
||||
# | dlls/wineandroid.drv/window.c, dlls/winemac.drv/ime.c, dlls/winemac.drv/keyboard.c, dlls/winemac.drv/mouse.c,
|
||||
# | dlls/winex11.drv/keyboard.c, dlls/winex11.drv/mouse.c, include/ddk/wdm.h, include/winuser.h, server/protocol.def,
|
||||
# | server/queue.c, server/trace.c
|
||||
# |
|
||||
if test "$enable_user32_rawinput_hid" -eq 1; then
|
||||
patch_apply user32-rawinput-hid/0001-user32-tests-Add-more-SendInput-tests.patch
|
||||
patch_apply user32-rawinput-hid/0002-user32-Implement-SendInput-INPUT_HARDWARE-check.patch
|
||||
patch_apply user32-rawinput-hid/0003-user32-Add-RAWINPUT-parameter-to-__wine_send_input.patch
|
||||
patch_apply user32-rawinput-hid/0004-hidclass.sys-Assign-rawinput-device-handle-in-HID_Li.patch
|
||||
patch_apply user32-rawinput-hid/0005-hidclass.sys-Use-__wine_send_input-to-send-device-no.patch
|
||||
|
@ -1,185 +0,0 @@
|
||||
From ce4894689736dc2e49b2b7550802ab1f2a4eb462 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 9 Mar 2021 12:02:18 +0100
|
||||
Subject: [PATCH] user32/tests: Add more SendInput tests.
|
||||
|
||||
Validating that SendInput with INPUT_HARDWARE type should be no-op.
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
|
||||
---
|
||||
dlls/user32/input.c | 18 ++++++
|
||||
dlls/user32/tests/input.c | 122 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 140 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index 8992c463c48..22e53585f00 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -182,6 +182,24 @@ UINT WINAPI SendInput( UINT count, LPINPUT inputs, int size )
|
||||
UINT i;
|
||||
NTSTATUS status;
|
||||
|
||||
+ if (size != sizeof(INPUT))
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_PARAMETER );
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ if (!count)
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_PARAMETER );
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ if (!inputs)
|
||||
+ {
|
||||
+ SetLastError( ERROR_NOACCESS );
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (inputs[i].type == INPUT_MOUSE)
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 06f90291fd1..0584f89f55a 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -4246,6 +4246,127 @@ static void test_GetKeyboardLayoutList(void)
|
||||
}
|
||||
}
|
||||
|
||||
+static void test_SendInput(void)
|
||||
+{
|
||||
+ INPUT input[16];
|
||||
+ UINT res, i;
|
||||
+ HWND hwnd;
|
||||
+ MSG msg;
|
||||
+
|
||||
+ hwnd = CreateWindowW( L"static", L"test", WS_OVERLAPPED, 0, 0, 100, 100, 0, 0, 0, 0 );
|
||||
+ ok( hwnd != 0, "CreateWindowW failed\n" );
|
||||
+
|
||||
+ ShowWindow( hwnd, SW_SHOWNORMAL );
|
||||
+ UpdateWindow( hwnd );
|
||||
+ SetForegroundWindow( hwnd );
|
||||
+ SetFocus( hwnd );
|
||||
+ empty_message_queue();
|
||||
+
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 0, NULL, 0 );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, NULL, 0 );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, NULL, sizeof(*input) );
|
||||
+ ok( res == 0 && (GetLastError() == ERROR_NOACCESS || GetLastError() == ERROR_INVALID_PARAMETER),
|
||||
+ "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 0, input, sizeof(*input) );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 0, NULL, sizeof(*input) );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+
|
||||
+ memset( input, 0, sizeof(input) );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, input, sizeof(*input) );
|
||||
+ ok( res == 1 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, sizeof(*input) );
|
||||
+ ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, input, 0 );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, input, sizeof(*input) + 1 );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 1, input, sizeof(*input) - 1 );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(input); ++i) input[i].type = INPUT_KEYBOARD;
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, offsetof( INPUT, ki ) + sizeof(KEYBDINPUT) );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, sizeof(*input) );
|
||||
+ ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ empty_message_queue();
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(input); ++i) input[i].type = INPUT_HARDWARE;
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, offsetof( INPUT, hi ) + sizeof(HARDWAREINPUT) );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_INVALID_PARAMETER, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+
|
||||
+ input[0].hi.uMsg = WM_KEYDOWN;
|
||||
+ input[0].hi.wParamL = 0;
|
||||
+ input[0].hi.wParamH = 'A';
|
||||
+ input[1].hi.uMsg = WM_KEYUP;
|
||||
+ input[1].hi.wParamL = 0;
|
||||
+ input[1].hi.wParamH = 'A' | 0xc000;
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, sizeof(*input) );
|
||||
+#ifdef _WIN64
|
||||
+ todo_wine
|
||||
+ ok( res == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+#else
|
||||
+ ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+#endif
|
||||
+ while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
+ todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ empty_message_queue();
|
||||
+
|
||||
+ memset( input, 0, sizeof(input) );
|
||||
+ input[0].type = INPUT_HARDWARE;
|
||||
+ input[1].type = INPUT_KEYBOARD;
|
||||
+ input[1].ki.wVk = 'A';
|
||||
+ input[1].ki.dwFlags = 0;
|
||||
+ input[2].type = INPUT_KEYBOARD;
|
||||
+ input[2].ki.wVk = 'A';
|
||||
+ input[2].ki.dwFlags = KEYEVENTF_KEYUP;
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, sizeof(*input) );
|
||||
+#ifdef _WIN64
|
||||
+ todo_wine ok( res == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
+ todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ empty_message_queue();
|
||||
+#else
|
||||
+ ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
+ ok( !!res, "SendInput did not trigger any message\n" );
|
||||
+ todo_wine ok( msg.message == WM_KEYDOWN, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
+ ok( !!res, "SendInput did not trigger any message\n" );
|
||||
+ todo_wine ok( msg.message == WM_KEYUP, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ empty_message_queue();
|
||||
+#endif
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(input); ++i) input[i].type = INPUT_HARDWARE + 1;
|
||||
+ SetLastError( 0xdeadbeef );
|
||||
+ res = SendInput( 16, input, sizeof(*input) );
|
||||
+ todo_wine ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
+ todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ empty_message_queue();
|
||||
+
|
||||
+ trace( "done\n" );
|
||||
+ DestroyWindow( hwnd );
|
||||
+}
|
||||
+
|
||||
START_TEST(input)
|
||||
{
|
||||
char **argv;
|
||||
@@ -4268,6 +4389,7 @@ START_TEST(input)
|
||||
return;
|
||||
}
|
||||
|
||||
+ test_SendInput();
|
||||
test_Input_blackbox();
|
||||
test_Input_whitebox();
|
||||
test_Input_unicode();
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,106 +0,0 @@
|
||||
From d9554c180611116398e700ed7f2d8f021bd06924 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Wed, 7 Apr 2021 10:34:23 +0200
|
||||
Subject: [PATCH] user32: Implement SendInput INPUT_HARDWARE check.
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
|
||||
---
|
||||
dlls/user32/input.c | 16 ++++++++++++----
|
||||
dlls/user32/tests/input.c | 15 +++++++--------
|
||||
2 files changed, 19 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index 22e53585f00..e97264960ea 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -180,7 +180,7 @@ static void update_mouse_coords( INPUT *input )
|
||||
UINT WINAPI SendInput( UINT count, LPINPUT inputs, int size )
|
||||
{
|
||||
UINT i;
|
||||
- NTSTATUS status;
|
||||
+ NTSTATUS status = STATUS_SUCCESS;
|
||||
|
||||
if (size != sizeof(INPUT))
|
||||
{
|
||||
@@ -202,14 +202,22 @@ UINT WINAPI SendInput( UINT count, LPINPUT inputs, int size )
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
- if (inputs[i].type == INPUT_MOUSE)
|
||||
+ INPUT input = inputs[i];
|
||||
+ switch (input.type)
|
||||
{
|
||||
+ case INPUT_MOUSE:
|
||||
/* we need to update the coordinates to what the server expects */
|
||||
- INPUT input = inputs[i];
|
||||
update_mouse_coords( &input );
|
||||
+ /* fallthrough */
|
||||
+ case INPUT_KEYBOARD:
|
||||
status = send_hardware_message( 0, &input, SEND_HWMSG_INJECTED );
|
||||
+ break;
|
||||
+#ifdef _WIN64
|
||||
+ case INPUT_HARDWARE:
|
||||
+ SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
|
||||
+ return 0;
|
||||
+#endif
|
||||
}
|
||||
- else status = send_hardware_message( 0, &inputs[i], SEND_HWMSG_INJECTED );
|
||||
|
||||
if (status)
|
||||
{
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index f48807a27a0..564ab2e1ba0 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -4286,13 +4286,12 @@ static void test_SendInput(void)
|
||||
SetLastError( 0xdeadbeef );
|
||||
res = SendInput( 16, input, sizeof(*input) );
|
||||
#ifdef _WIN64
|
||||
- todo_wine
|
||||
ok( res == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
#else
|
||||
ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
#endif
|
||||
while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
- todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
empty_message_queue();
|
||||
|
||||
memset( input, 0, sizeof(input) );
|
||||
@@ -4306,27 +4305,27 @@ static void test_SendInput(void)
|
||||
SetLastError( 0xdeadbeef );
|
||||
res = SendInput( 16, input, sizeof(*input) );
|
||||
#ifdef _WIN64
|
||||
- todo_wine ok( res == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ ok( res == 0 && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
- todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
empty_message_queue();
|
||||
#else
|
||||
ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
ok( !!res, "SendInput did not trigger any message\n" );
|
||||
- todo_wine ok( msg.message == WM_KEYDOWN, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ ok( msg.message == WM_KEYDOWN, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
ok( !!res, "SendInput did not trigger any message\n" );
|
||||
- todo_wine ok( msg.message == WM_KEYUP, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ ok( msg.message == WM_KEYUP, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
empty_message_queue();
|
||||
#endif
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(input); ++i) input[i].type = INPUT_HARDWARE + 1;
|
||||
SetLastError( 0xdeadbeef );
|
||||
res = SendInput( 16, input, sizeof(*input) );
|
||||
- todo_wine ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
+ ok( res == 16 && GetLastError() == 0xdeadbeef, "SendInput returned %u, error %#x\n", res, GetLastError() );
|
||||
while ((res = wait_for_message(&msg)) && msg.message == WM_TIMER) DispatchMessageA(&msg);
|
||||
- todo_wine ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
+ ok( !res, "SendInput triggered unexpected message %#x\n", msg.message );
|
||||
empty_message_queue();
|
||||
|
||||
trace( "done\n" );
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1d4f802b393ca552ec262f359794277c9ecf2c7f Mon Sep 17 00:00:00 2001
|
||||
From e37a301a9492b6f9ea418556c7df703899a8be58 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Wed, 7 Apr 2021 14:52:00 +0200
|
||||
Subject: [PATCH] user32: Add RAWINPUT parameter to __wine_send_input.
|
||||
@ -26,7 +26,7 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
|
||||
12 files changed, 19 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index e97264960ea..3fc818a2510 100644
|
||||
index 7cf7e53a6c8..805bfe3e9de 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -119,9 +119,9 @@ BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret )
|
||||
@ -48,8 +48,8 @@ index e97264960ea..3fc818a2510 100644
|
||||
- status = send_hardware_message( 0, &input, SEND_HWMSG_INJECTED );
|
||||
+ status = send_hardware_message( 0, &input, NULL, SEND_HWMSG_INJECTED );
|
||||
break;
|
||||
#ifdef _WIN64
|
||||
case INPUT_HARDWARE:
|
||||
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
|
||||
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
|
||||
index def59998a52..f87ef9fb3af 100644
|
||||
--- a/dlls/user32/message.c
|
||||
|
@ -1,4 +1,4 @@
|
||||
From acd309726a5ca6ac94a7ea13c92382ae637e21ab Mon Sep 17 00:00:00 2001
|
||||
From 5505c3b36acb807fe810dad5094806205f2be804 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Wed, 24 Mar 2021 23:29:28 +0100
|
||||
Subject: [PATCH] user32: Set SEND_HWMSG_RAWINPUT flags only when RAWINPUT is
|
||||
@ -20,7 +20,7 @@ __wine_send_input with INPUT_HARDWARE input type and a rawinput.
|
||||
9 files changed, 26 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index 3fc818a2510..af1ad797102 100644
|
||||
index 805bfe3e9de..e78c6b9ce83 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -181,6 +181,7 @@ UINT WINAPI SendInput( UINT count, LPINPUT inputs, int size )
|
||||
@ -38,8 +38,8 @@ index 3fc818a2510..af1ad797102 100644
|
||||
- status = send_hardware_message( 0, &input, NULL, SEND_HWMSG_INJECTED );
|
||||
+ status = send_hardware_message( 0, &input, &rawinput, SEND_HWMSG_INJECTED );
|
||||
break;
|
||||
#ifdef _WIN64
|
||||
case INPUT_HARDWARE:
|
||||
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
|
||||
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
|
||||
index 98f6c2730e0..43c6adad033 100644
|
||||
--- a/dlls/user32/message.c
|
||||
|
@ -1 +1 @@
|
||||
c6393968754d64189f111e9277fb9060ec415fae
|
||||
092c7a09a5afde3f11b71b1816388e80d062e8ec
|
||||
|
Loading…
x
Reference in New Issue
Block a user