mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 19:02:55 +02:00
Merge pull request #8144 from howard-stearns/fix-crashing-hmd-menu-modals
fix crash when hmd context menu triggers a modal
This commit is contained in:
commit
abf643579a
1 changed files with 15 additions and 1 deletions
|
@ -39,6 +39,19 @@ Item {
|
||||||
onSelected: d.handleSelection(subMenu, currentItem, item)
|
onSelected: d.handleSelection(subMenu, currentItem, item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
property var delay: Timer { // No setTimeout in QML.
|
||||||
|
property var menuItem: null;
|
||||||
|
interval: 0
|
||||||
|
repeat: false
|
||||||
|
running: false
|
||||||
|
function trigger(item) { // Capture item and schedule asynchronous Timer.
|
||||||
|
menuItem = item;
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
onTriggered: {
|
||||||
|
menuItem.trigger(); // Now trigger the item.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function toModel(items) {
|
function toModel(items) {
|
||||||
var result = modelMaker.createObject(desktop);
|
var result = modelMaker.createObject(desktop);
|
||||||
|
@ -128,7 +141,8 @@ Item {
|
||||||
|
|
||||||
case MenuItemType.Item:
|
case MenuItemType.Item:
|
||||||
console.log("Triggering " + item.text)
|
console.log("Triggering " + item.text)
|
||||||
item.trigger();
|
// Don't block waiting for modal dialogs and such that the menu might open.
|
||||||
|
delay.trigger(item);
|
||||||
clearMenus();
|
clearMenus();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue