diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 0d2cea6c8ab..d21bf6f7507 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -2457,8 +2457,10 @@ void QMenuPrivate::popup(const QPoint &p, QAction *atAction, PositionFunction po return; } + // Note that QGuiApplicationPrivate::lastCursorPosition isn't a QPointF, + // so these two statements can't be simplified... const QPoint mouse = QGuiApplicationPrivate::lastCursorPosition.toPoint(); - mousePopupPos = mouse; + mousePopupPos = QGuiApplicationPrivate::lastCursorPosition; const bool snapToMouse = !causedPopup.widget && (QRect(p.x() - 3, p.y() - 3, 6, 6).contains(mouse)); if (adjustToDesktop) { diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index 27648761b0e..d8c741ae7c6 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -326,7 +326,7 @@ public: //selection static QMenu *mouseDown; - QPoint mousePopupPos; + QPointF mousePopupPos; QAction *currentAction = nullptr; #ifdef QT_KEYPAD_NAVIGATION