From 102a66c3f6101acacf6e3fcbdd6ac928e9e3a604 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Thu, 6 Aug 2009 23:24:48 +0000 Subject: [PATCH] BMenuField's private menu bar did not take into account the width of the popup indicator when computing its minimum size. Fixes ticket #3635. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32171 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/interface/BMCPrivate.h | 1 + src/kits/interface/BMCPrivate.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/headers/private/interface/BMCPrivate.h b/headers/private/interface/BMCPrivate.h index dc97ba3fa9..f8ff7036ff 100644 --- a/headers/private/interface/BMCPrivate.h +++ b/headers/private/interface/BMCPrivate.h @@ -54,6 +54,7 @@ public: bool IsPopUpMarkerShown() const { return fShowPopUpMarker; } + virtual BSize MinSize(); virtual BSize MaxSize(); private: diff --git a/src/kits/interface/BMCPrivate.cpp b/src/kits/interface/BMCPrivate.cpp index ecdea82389..80d6b494f0 100644 --- a/src/kits/interface/BMCPrivate.cpp +++ b/src/kits/interface/BMCPrivate.cpp @@ -362,6 +362,16 @@ _BMCMenuBar_::MakeFocus(bool focused) } +BSize +_BMCMenuBar_::MinSize() +{ + BSize size; + BMenuBar::GetPreferredSize(&size.width, &size.height); + // account for popup indicator + a few pixels margin + size.width += 13.0; + return BLayoutUtils::ComposeSize(ExplicitMinSize(), size); +} + BSize _BMCMenuBar_::MaxSize() {