Module: wine Branch: master Commit: 24ad74ee26f53947cbccb468f68440fe4c6c4714 URL: https://gitlab.winehq.org/wine/wine/-/commit/24ad74ee26f53947cbccb468f68440f...
Author: Rémi Bernon rbernon@codeweavers.com Date: Tue Feb 13 11:11:58 2024 +0100
server: Send emulated mouse messages on primary pointer updates.
---
server/queue.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/server/queue.c b/server/queue.c index 55f6911faf4..0e8653bedf0 100644 --- a/server/queue.c +++ b/server/queue.c @@ -2274,6 +2274,23 @@ static void queue_pointer_message( struct pointer *pointer, int repeated ) queue_hardware_message( desktop, msg, 1 ); }
+ if (!repeated && pointer->primary && (msg = alloc_hardware_message( 0xff515700, source, time, 0 ))) + { + unsigned int message = WM_MOUSEMOVE; + if (input->hw.msg == WM_POINTERDOWN) message = WM_LBUTTONDOWN; + else if (input->hw.msg == WM_POINTERUP) message = WM_LBUTTONUP; + + msg->win = get_user_full_handle( win ); + msg->msg = message; + msg->wparam = 0; + msg->lparam = 0; + msg->x = x; + msg->y = y; + + if (!send_hook_ll_message( desktop, msg, input, NULL )) + queue_hardware_message( desktop, msg, 0 ); + } + if (input->hw.msg != WM_POINTERUP) { pointer->input.hw.msg = WM_POINTERUPDATE;