From 234e849cfc85d5618d2f703bb92701042993d2de Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Wed, 17 Feb 2010 10:07:51 +0100 Subject: Incorrect mouse coordinates used when compressing WM_MOUSEMOVE messages. Use the coordinates passed in the LPARAM parameter, the pt passed with the MSG is not always correct. Task-number: QTBUG-7637 Reviewed-by: Denis --- src/gui/kernel/qapplication_win.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index b71a1bb..31d245f 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -2984,7 +2984,10 @@ bool QETWidget::translateMouseEvent(const MSG &msg) // most recent one. msgPtr->lParam = mouseMsg.lParam; msgPtr->wParam = mouseMsg.wParam; - msgPtr->pt = mouseMsg.pt; + // Extract the x,y coordinates from the lParam as we do in the WndProc + msgPtr->pt.x = GET_X_LPARAM(mouseMsg.lParam); + msgPtr->pt.y = GET_Y_LPARAM(mouseMsg.lParam); + ClientToScreen(msg.hwnd, &(msgPtr->pt)); // Remove the mouse move message PeekMessage(&mouseMsg, msg.hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE); -- cgit v0.12