Avoid calling BMenu::_hide() when not needed

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13401 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2005-07-02 13:34:47 +00:00
parent 6834052234
commit 169425459f
+9 -6
View File
@@ -1523,20 +1523,23 @@ BMenu::Uninstall()
void void
BMenu::SelectItem(BMenuItem *menuItem, uint32 showSubmenu, bool selectFirstItem) BMenu::SelectItem(BMenuItem *menuItem, uint32 showSubmenu, bool selectFirstItem)
{ {
// TODO: make use of "selectFirstItem". // TODO: make use of "selectFirstItem"
if (fSelected != NULL) { if (fSelected != NULL) {
fSelected->Select(false); fSelected->Select(false);
if (fSelected->Submenu() != NULL) BMenu *subMenu = fSelected->Submenu();
fSelected->Submenu()->_hide(); if (subMenu != NULL && subMenu->Window() != NULL)
subMenu->_hide();
} }
if (menuItem != NULL) if (menuItem != NULL)
menuItem->Select(true); menuItem->Select(true);
fSelected = menuItem; fSelected = menuItem;
if (fSelected != NULL && showSubmenu == 0 && fSelected->Submenu() != NULL) if (fSelected != NULL && showSubmenu == 0) {
fSelected->Submenu()->_show(); BMenu *subMenu = fSelected->Submenu();
if (subMenu != NULL && subMenu->Window() == NULL)
subMenu->_show();
}
} }