summaryrefslogtreecommitdiff
path: root/src/controls/qquickmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickmenu.cpp')
-rw-r--r--src/controls/qquickmenu.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 2dbaf952..f2823f16 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -380,8 +380,11 @@ void QQuickMenu::__popup(qreal x, qreal y, int atItemIndex)
if (m_platformMenu) {
QPointF screenPosition(x + m_xOffset, y + m_yOffset);
- if (visualItem())
+ if (visualItem()) {
+ if (qGuiApp->isRightToLeft())
+ screenPosition.rx() -= qMax(static_cast<qreal>(m_minimumWidth), m_menuContentItem->width());
screenPosition = visualItem()->mapToScene(screenPosition);
+ }
m_platformMenu->showPopup(parentWindow, screenPosition.toPoint(), atItem ? atItem->platformItem() : 0);
} else {
m_popupWindow = new QQuickMenuPopupWindow();