From bc98bc68901d08d66bfc81256dee7ff8cfa90459 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 15 Jul 2020 14:02:29 +0200 Subject: QWizard/Windows: Fix deprecation warnings about old mouse event API Fix: src/widgets/dialogs/qwizard_win.cpp:515 C4996: 'QMouseEvent::globalX': Use globalPosition() src/widgets/dialogs/qwizard_win.cpp:529 C4996: 'QMouseEvent::globalX': Use globalPosition() src/widgets/dialogs/qwizard_win.cpp:544 C4996: 'QMouseEvent::globalX': Use globalPosition() and add missing High DPI scaling for the native event on this occasion. Change-Id: Ib9a8ab0b3419fa0435eba38401b91c445acdb7bf Reviewed-by: Oliver Wolff --- src/widgets/dialogs/qwizard_win.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/widgets/dialogs') diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp index 1ec8fe8d91..5a666b542b 100644 --- a/src/widgets/dialogs/qwizard_win.cpp +++ b/src/widgets/dialogs/qwizard_win.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -501,6 +502,12 @@ void QVistaHelper::mouseReleaseEvent(QMouseEvent *event) event->ignore(); } +static inline LPARAM pointToLParam(const QPointF &p, const QWidget *w) +{ + const auto point = QHighDpi::toNativePixels(p, w->screen()).toPoint(); + return MAKELPARAM(point.x(), point.y()); +} + bool QVistaHelper::eventFilter(QObject *obj, QEvent *event) { if (obj != wizard) @@ -512,7 +519,7 @@ bool QVistaHelper::eventFilter(QObject *obj, QEvent *event) MSG msg; msg.message = WM_NCHITTEST; msg.wParam = 0; - msg.lParam = MAKELPARAM(mouseEvent->globalX(), mouseEvent->globalY()); + msg.lParam = pointToLParam(mouseEvent->globalPosition(), wizard); msg.hwnd = wizardHWND(); winEvent(&msg, &result); msg.wParam = result; @@ -526,7 +533,7 @@ bool QVistaHelper::eventFilter(QObject *obj, QEvent *event) MSG msg; msg.message = WM_NCHITTEST; msg.wParam = 0; - msg.lParam = MAKELPARAM(mouseEvent->globalX(), mouseEvent->globalY()); + msg.lParam = pointToLParam(mouseEvent->globalPosition(), wizard); msg.hwnd = wizardHWND(); winEvent(&msg, &result); msg.wParam = result; @@ -541,7 +548,7 @@ bool QVistaHelper::eventFilter(QObject *obj, QEvent *event) MSG msg; msg.message = WM_NCHITTEST; msg.wParam = 0; - msg.lParam = MAKELPARAM(mouseEvent->globalX(), mouseEvent->globalY()); + msg.lParam = pointToLParam(mouseEvent->globalPosition(), wizard); msg.hwnd = wizardHWND(); winEvent(&msg, &result); msg.wParam = result; -- cgit v1.2.3