summaryrefslogtreecommitdiff
path: root/src/controls/Private/MenuContentItem.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/Private/MenuContentItem.qml')
-rw-r--r--src/controls/Private/MenuContentItem.qml13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/controls/Private/MenuContentItem.qml b/src/controls/Private/MenuContentItem.qml
index d926ff75..1633a81f 100644
--- a/src/controls/Private/MenuContentItem.qml
+++ b/src/controls/Private/MenuContentItem.qml
@@ -45,7 +45,7 @@ import QtQuick.Controls.Styles 1.1
Loader {
id: menuFrameLoader
- property var __menu: root
+ property var __menu
visible: status === Loader.Ready
width: content.width + (d.style ? d.style.padding.left + d.style.padding.right : 0)
@@ -89,6 +89,7 @@ Loader {
__menu.__dismissMenu()
if (item.styleData.type !== MenuItemType.Menu)
item.__menuItem.trigger()
+ __menu.__destroyAllMenuPopups()
}
}
}
@@ -132,8 +133,10 @@ Loader {
}
Keys.onLeftPressed: {
- if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title")))
- __closeMenu()
+ if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title"))) {
+ __menu.__closeMenu()
+ __menu.__destroyMenuPopup()
+ }
}
Keys.onRightPressed: {
@@ -231,8 +234,10 @@ Loader {
id: closeMenuTimer
interval: 1
onTriggered: {
- if (__menu.__currentIndex !== __menuItemIndex)
+ if (__menu.__currentIndex !== __menuItemIndex) {
__menuItem.__closeMenu()
+ __menuItem.__destroyMenuPopup()
+ }
}
}