From 0c7450238f027ecee532e8af936715741218b895 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Mon, 16 Jan 2006 22:49:05 +0000 Subject: [PATCH] followed stippi's suggestion and implemented SetEnabled more cleanly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15989 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Menu.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index 28144eb2cc..0da4906bc6 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -528,18 +528,15 @@ BMenu::SetTargetForItems(BMessenger messenger) void BMenu::SetEnabled(bool enabled) { + if (fEnabled == enabled) + return; + fEnabled = enabled; - - - if (fSuper) { - // Can't use fSuper->SetEnabled() here, as - // it would call SetEnabled() on us again, thus - // entering an infinite loop - fSuper->fEnabled = enabled; - } - for (int32 i = 0; i < CountItems(); i++) ItemAt(i)->SetEnabled(enabled); + + if (fSuper) + fSuper->SetEnabled(enabled); }