Rebase against 6d307e2a647e71c21106feb0d62e371b3e55ab38.

This commit is contained in:
Alistair Leslie-Hughes 2021-10-14 08:51:40 +11:00
parent 1af920f698
commit 688eeca0be
4 changed files with 24 additions and 24 deletions

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "50f889fd19d329bef7c001f9eafd1030fc1e3a56"
echo "6d307e2a647e71c21106feb0d62e371b3e55ab38"
}
# Show version information

View File

@ -1,4 +1,4 @@
From b0e9308f959238859ddd0e8383c024e3e5020d54 Mon Sep 17 00:00:00 2001
From 07d4dc9e66dc130f0b43225959120a5cf3c73fcf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Mon, 26 Aug 2019 14:37:20 +0200
Subject: [PATCH] server: Add send_hardware_message flags for rawinput
@ -11,10 +11,10 @@ Subject: [PATCH] server: Add send_hardware_message flags for rawinput
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index a80fb8c57ea..f0d4fa9cd14 100644
index f53d417c22a..d2f91b28ac0 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -3278,6 +3278,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
@@ -3279,6 +3279,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
req->input.mouse.flags = input->u.mi.dwFlags;
req->input.mouse.time = input->u.mi.time;
req->input.mouse.info = input->u.mi.dwExtraInfo;
@ -22,7 +22,7 @@ index a80fb8c57ea..f0d4fa9cd14 100644
break;
case INPUT_KEYBOARD:
req->input.kbd.vkey = input->u.ki.wVk;
@@ -3285,6 +3286,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
@@ -3286,6 +3287,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
req->input.kbd.flags = input->u.ki.dwFlags;
req->input.kbd.time = input->u.ki.time;
req->input.kbd.info = input->u.ki.dwExtraInfo;
@ -31,10 +31,10 @@ index a80fb8c57ea..f0d4fa9cd14 100644
case INPUT_HARDWARE:
req->input.hw.msg = input->u.hi.uMsg;
diff --git a/server/protocol.def b/server/protocol.def
index eb15cef6fdb..e098c78a125 100644
index b5cc1dbae3a..3cff090335a 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -2044,6 +2044,7 @@ enum message_type
@@ -2040,6 +2040,7 @@ enum message_type
VARARG(keystate,bytes); /* global state array for all the keys */
@END
#define SEND_HWMSG_INJECTED 0x01
@ -43,10 +43,10 @@ index eb15cef6fdb..e098c78a125 100644
/* Get a message from the current queue */
diff --git a/server/queue.c b/server/queue.c
index 3e6050686ae..c87e1ddb0d4 100644
index 71e3b69fe8c..d8428cdf13c 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1732,7 +1732,7 @@ done:
@@ -1817,7 +1817,7 @@ done:
/* queue a hardware message for a mouse event */
static int queue_mouse_message( struct desktop *desktop, user_handle_t win, const hw_input_t *input,
@ -55,16 +55,16 @@ index 3e6050686ae..c87e1ddb0d4 100644
{
const struct rawinput_device *device;
struct hardware_msg_data *msg_data;
@@ -1787,7 +1787,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
@@ -1872,7 +1872,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
y = desktop->cursor.y;
}
- if ((foreground = get_foreground_thread( desktop, win )))
+ if ((req_flags & SEND_HWMSG_RAWINPUT) && (foreground = get_foreground_thread( desktop, win )))
{
memset( &raw_msg, 0, sizeof(raw_msg) );
raw_msg.foreground = foreground;
raw_msg.desktop = desktop;
@@ -1846,7 +1846,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
@@ -1931,7 +1931,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
/* queue a hardware message for a keyboard event */
static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, const hw_input_t *input,
@ -73,16 +73,16 @@ index 3e6050686ae..c87e1ddb0d4 100644
{
struct hw_msg_source source = { IMDT_KEYBOARD, origin };
const struct rawinput_device *device;
@@ -1924,7 +1924,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
@@ -2009,7 +2009,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
break;
}
- if ((foreground = get_foreground_thread( desktop, win )))
+ if ((req_flags & SEND_HWMSG_RAWINPUT) && (foreground = get_foreground_thread( desktop, win )))
{
memset( &raw_msg, 0, sizeof(raw_msg) );
raw_msg.foreground = foreground;
raw_msg.desktop = desktop;
@@ -2540,10 +2540,10 @@ DECL_HANDLER(send_hardware_message)
@@ -2632,10 +2632,10 @@ DECL_HANDLER(send_hardware_message)
switch (req->input.type)
{
case INPUT_MOUSE:
@ -96,5 +96,5 @@ index 3e6050686ae..c87e1ddb0d4 100644
case INPUT_HARDWARE:
queue_custom_hardware_message( desktop, req->win, origin, &req->input );
--
2.30.2
2.33.0

View File

@ -1,4 +1,4 @@
From 2e661c0f3384f920f97b3c78e94096233093b4ac Mon Sep 17 00:00:00 2001
From bb3a28f74aa0ff79539e0deb74a09275bbfc8c73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Thu, 25 Mar 2021 14:26:35 +0100
Subject: [PATCH] user32: Support sending RIM_TYPEMOUSE through
@ -10,10 +10,10 @@ Subject: [PATCH] user32: Support sending RIM_TYPEMOUSE through
2 files changed, 9 insertions(+)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 702e5892a4d..98c9648e36b 100644
index abf892d1474..839b6d6bc14 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -3298,6 +3298,12 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
@@ -3299,6 +3299,12 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
req->input.hw.rawinput.type = rawinput->header.dwType;
switch (rawinput->header.dwType)
{
@ -27,11 +27,11 @@ index 702e5892a4d..98c9648e36b 100644
req->input.hw.rawinput.hid.device = HandleToUlong( rawinput->header.hDevice );
req->input.hw.rawinput.hid.param = rawinput->header.wParam;
diff --git a/server/queue.c b/server/queue.c
index c87e1ddb0d4..55580fe1122 100644
index d8428cdf13c..eef5bf56347 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -2016,6 +2016,9 @@ static void queue_custom_hardware_message( struct desktop *desktop, user_handle_
msg_data->flags = 0;
@@ -2103,6 +2103,9 @@ static void queue_custom_hardware_message( struct desktop *desktop, user_handle_
msg_data->size = sizeof(*msg_data) + report_size;
msg_data->rawinput = input->hw.rawinput;
+ if (input->hw.msg == WM_INPUT && input->hw.rawinput.type == RIM_TYPEMOUSE)
@ -41,5 +41,5 @@ index c87e1ddb0d4..55580fe1122 100644
if (raw_msg.foreground) release_object( raw_msg.foreground );
--
2.30.2
2.33.0

View File

@ -1 +1 @@
50f889fd19d329bef7c001f9eafd1030fc1e3a56
6d307e2a647e71c21106feb0d62e371b3e55ab38