From: Rémi Bernon rbernon@codeweavers.com
--- server/queue.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/server/queue.c b/server/queue.c index 07a31b47370..8839b0e47f1 100644 --- a/server/queue.c +++ b/server/queue.c @@ -403,7 +403,7 @@ static struct message *alloc_hardware_message( lparam_t info, struct hw_msg_sour return msg; }
-static int update_desktop_cursor_pos( struct desktop *desktop, int x, int y ) +static int update_desktop_cursor_pos( struct desktop *desktop, user_handle_t win, int x, int y ) { int updated;
@@ -426,7 +426,7 @@ static void set_cursor_pos( struct desktop *desktop, int x, int y )
if ((device = current->process->rawinput_mouse) && (device->flags & RIDEV_NOLEGACY)) { - update_desktop_cursor_pos( desktop, x, y ); + update_desktop_cursor_pos( desktop, 0, x, y ); return; }
@@ -1408,11 +1408,11 @@ static void update_input_key_state( struct desktop *desktop, unsigned char *keys }
/* update the desktop key state according to a mouse message flags */ -static void update_desktop_mouse_state( struct desktop *desktop, unsigned int flags, +static void update_desktop_mouse_state( struct desktop *desktop, unsigned int flags, user_handle_t win, int x, int y, lparam_t wparam ) { if (flags & MOUSEEVENTF_MOVE) - update_desktop_cursor_pos( desktop, x, y ); + update_desktop_cursor_pos( desktop, win, x, y ); if (flags & MOUSEEVENTF_LEFTDOWN) update_input_key_state( desktop, desktop->keystate, WM_LBUTTONDOWN, wparam ); if (flags & MOUSEEVENTF_LEFTUP) @@ -1580,7 +1580,7 @@ static void queue_hardware_message( struct desktop *desktop, struct message *msg if (msg->msg == WM_MOUSEMOVE) { prepend_cursor_history( msg->x, msg->y, msg->time, msg_data->info ); - if (update_desktop_cursor_pos( desktop, msg->x, msg->y )) always_queue = 1; + if (update_desktop_cursor_pos( desktop, msg->win, msg->x, msg->y )) always_queue = 1; } if (desktop->keystate[VK_LBUTTON] & 0x80) msg->wparam |= MK_LBUTTON; if (desktop->keystate[VK_MBUTTON] & 0x80) msg->wparam |= MK_MBUTTON; @@ -1835,7 +1835,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
if ((device = current->process->rawinput_mouse) && (device->flags & RIDEV_NOLEGACY)) { - update_desktop_mouse_state( desktop, flags, x, y, input->mouse.data << 16 ); + update_desktop_mouse_state( desktop, flags, win, x, y, input->mouse.data << 16 ); return 0; }