diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index fe06b8118e..ade824145b 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1544,9 +1544,7 @@ BMenu::ComputeLayout(int32 index, bool bestFit, bool moveItems, // over the whole width of its parent // TODO: this is certainly ugly, and it would be nice if there // would be a cleaner solution to this problem - if ((ResizingMode() & B_FOLLOW_LEFT_RIGHT) == B_FOLLOW_LEFT_RIGHT - || (dynamic_cast(this) != NULL - && dynamic_cast<_BMCMenuBar_*>(this) == NULL)) { + if ((ResizingMode() & B_FOLLOW_LEFT_RIGHT) == B_FOLLOW_LEFT_RIGHT) { if (Parent()) *_width = Parent()->Frame().Width() + 1; else if (Window()) @@ -1559,6 +1557,9 @@ BMenu::ComputeLayout(int32 index, bool bestFit, bool moveItems, if (_height) *_height = frame.Height(); + + if (moveItems) + fUseCachedMenuLayout = true; }