From c592b98fd2a7e0655abdaade7005acb6fac4677b Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Tue, 17 Jan 2006 20:11:07 +0000 Subject: [PATCH] Reworked BMenu::Set/IsEnabled(). I tested what happens under beos and our code seems to be finally correct git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15999 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Menu.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index 0da4906bc6..fbe0d566b5 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -532,11 +532,9 @@ BMenu::SetEnabled(bool enabled) return; fEnabled = enabled; - for (int32 i = 0; i < CountItems(); i++) - ItemAt(i)->SetEnabled(enabled); - if (fSuper) - fSuper->SetEnabled(enabled); + if (fSuperitem) + fSuperitem->SetEnabled(enabled); } @@ -582,7 +580,10 @@ BMenu::IsLabelFromMarked() bool BMenu::IsEnabled() const { - return fEnabled; + if (!fEnabled) + return false; + + return fSuper ? fSuper->IsEnabled() : true ; }