diff --git a/headers/os/interface/Menu.h b/headers/os/interface/Menu.h index e5cb58f962..43e2d1aa25 100644 --- a/headers/os/interface/Menu.h +++ b/headers/os/interface/Menu.h @@ -78,6 +78,8 @@ public: virtual void FrameMoved(BPoint newPosition); virtual void FrameResized(float newWidth, float newHeight); + void InvalidateLayout(); + virtual void MakeFocus(bool focus = true); bool AddItem(BMenuItem* item); diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index a4e79dd40c..c6bca29a76 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -667,6 +667,17 @@ BMenu::FrameResized(float new_width, float new_height) } +void +BMenu::InvalidateLayout() +{ + fUseCachedMenuLayout = false; + // This method exits for backwards compatibility reasons, it is used to + // invalidate the menu layout, but we also use call + // BView::InvalidateLayout() for good measure. Don't delete this method! + BView::InvalidateLayout(false); +} + + // #pragma mark -