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
This commit is contained in:
@@ -528,18 +528,15 @@ BMenu::SetTargetForItems(BMessenger messenger)
|
|||||||
void
|
void
|
||||||
BMenu::SetEnabled(bool enabled)
|
BMenu::SetEnabled(bool enabled)
|
||||||
{
|
{
|
||||||
|
if (fEnabled == enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
fEnabled = enabled;
|
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++)
|
for (int32 i = 0; i < CountItems(); i++)
|
||||||
ItemAt(i)->SetEnabled(enabled);
|
ItemAt(i)->SetEnabled(enabled);
|
||||||
|
|
||||||
|
if (fSuper)
|
||||||
|
fSuper->SetEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user