aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorInho Lee <inho.lee@qt.io>2022-08-22 15:05:12 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-11-10 14:00:15 +0000
commit379e74afdf8c074913b221c3ce2629f397570047 (patch)
tree71bb275cb1fa61dc08aa5fce36cc783f595d4090 /src
parent208d97cab2d448b8610167605966b9cbf7b1c6bc (diff)
Fix the popup position of a Menu
QPA code should operate in native coord. Treat QWidgetPlatformMenu::showPopup's input as native coord. Fixes: QTBUG-94619 Fixes: QTBUG-94783 Change-Id: Iaa030c96d84e4a588e625fe191e4324f70be961f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit f8cf17166c9af147f0b8fea72f5b4a8a6098a5d7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/labs/platform/widgets/qwidgetplatformmenu.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/labs/platform/widgets/qwidgetplatformmenu.cpp b/src/labs/platform/widgets/qwidgetplatformmenu.cpp
index 1db01a5e79..f640b6bc06 100644
--- a/src/labs/platform/widgets/qwidgetplatformmenu.cpp
+++ b/src/labs/platform/widgets/qwidgetplatformmenu.cpp
@@ -6,6 +6,7 @@
#include <QtGui/qaction.h>
#include <QtGui/qwindow.h>
+#include <QtGui/private/qhighdpiscaling_p.h>
#include <QtWidgets/qmenu.h>
QT_BEGIN_NAMESPACE
@@ -112,7 +113,7 @@ void QWidgetPlatformMenu::showPopup(const QWindow *window, const QRect &targetRe
QPoint targetPos = targetRect.bottomLeft();
if (window)
- targetPos = window->mapToGlobal(targetPos);
+ targetPos = window->mapToGlobal(QHighDpi::fromNativeLocalPosition(targetPos, window));
const QWidgetPlatformMenuItem *widgetItem = qobject_cast<const QWidgetPlatformMenuItem *>(item);
m_menu->popup(targetPos, widgetItem ? widgetItem->action() : nullptr);