diff options
Diffstat (limited to 'src/controls/qquickmenu.cpp')
-rw-r--r-- | src/controls/qquickmenu.cpp | 5 |
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(); |