fix crash on nested popup closing

This commit is contained in:
Vadim Lopatin 2014-05-07 16:45:57 +04:00
parent ba9ce609a4
commit e0c9b8bc9c
1 changed files with 15 additions and 8 deletions

View File

@ -270,6 +270,9 @@ class MenuWidgetBase : ListWidget {
} }
protected void onPopupClosed(PopupWidget p) { protected void onPopupClosed(PopupWidget p) {
if (_openedPopup) {
if (_openedPopup is p) {
_openedMenu.onPopupClosed(p);
bool undoSelection = _openedPopupIndex == _selectedItemIndex; bool undoSelection = _openedPopupIndex == _selectedItemIndex;
_openedPopup = null; _openedPopup = null;
_openedMenu = null; _openedMenu = null;
@ -278,6 +281,10 @@ class MenuWidgetBase : ListWidget {
setHoverItem(-1); setHoverItem(-1);
} }
window.setFocus(this); window.setFocus(this);
} else if (thisPopup is p) {
_openedPopup.close();
}
}
} }
protected void openSubmenu(int index, MenuItemWidget itemWidget, bool selectFirstItem) { protected void openSubmenu(int index, MenuItemWidget itemWidget, bool selectFirstItem) {