Close Menu Implemented
@@ -506,6 +506,16 @@ void GuiMenuBar::onAction()
mouseDownMenu->popupMenu->showPopup(root, pos.x, pos.y);
}
+void GuiMenuBar::closeMenu()
+{
+ if(mouseDownMenu)
+ mouseDownMenu->popupMenu->hidePopup();
+
+ mouseOverMenu = NULL;
+ mouseDownMenu = NULL;
+ mMouseInMenu = false;
+}
// Process a tick
void GuiMenuBar::processTick()
{
@@ -247,6 +247,10 @@ void GuiPopupMenuTextListCtrl::onMouseUp(const GuiEvent &event)
if (item->mEnabled)
+ if(mMenuBar)
+ {
+ mMenuBar->closeMenu();
+ }
Con::executef(mPopup, "onSelectItem", Con::getIntArg(getSelectedCell().y), item->mText.isNotEmpty() ? item->mText : String(""));