summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qwizard_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/dialogs/qwizard_win.cpp')
-rw-r--r--src/widgets/dialogs/qwizard_win.cpp13
1 files changed, 10 insertions, 3 deletions
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 <QtCore/QDebug>
#include <QtGui/QMouseEvent>
#include <QtGui/QWindow>
+#include <QtGui/private/qhighdpiscaling_p.h>
#include <uxtheme.h>
#include <vssym32.h>
@@ -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;