diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index d0237bbe61..3d8b0006c1 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1628,6 +1628,8 @@ BMenu::_Track(int* action, long start) } else if (item != NULL) { _UpdateStateOpenSelect(item, location, navAreaRectAbove, navAreaRectBelow, selectedTime, navigationAreaTime); + if (!releasedOnce) + releasedOnce = true; } else if (_OverSuper(screenLocation)) { fState = MENU_STATE_TRACKING; UnlockLooper(); diff --git a/src/kits/interface/PopUpMenu.cpp b/src/kits/interface/PopUpMenu.cpp index 040cb9e8b1..b8bc6d2a77 100644 --- a/src/kits/interface/PopUpMenu.cpp +++ b/src/kits/interface/PopUpMenu.cpp @@ -419,6 +419,7 @@ BPopUpMenu::_StartTrack(BPoint where, bool autoInvoke, bool startOpened, BRect * // Show the menu's window Show(); + snooze(50000); BMenuItem *result = Track(startOpened, _specialRect); if (result != NULL && autoInvoke) result->Invoke();