diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index f280436e70..f00920df4c 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1670,8 +1670,10 @@ void BMenu::_ScriptReceived(BMessage* message) if (err >= B_OK) { if (item->Submenu() == NULL) err = B_BAD_VALUE; - else + else { RemoveItem(item); + delete item; + } } } break; @@ -1737,8 +1739,10 @@ void BMenu::_ScriptReceived(BMessage* message) if (message->what == B_DELETE_PROPERTY) { BMenuItem *item = NULL; err = _ResolveItemSpecifier(specifier, what, item); - if (err >= B_OK) + if (err >= B_OK) { RemoveItem(item); + delete item; + } } break; case 12: { // MenuItem: EXECUTE