diff --git a/headers/os/interface/LayoutBuilder.h b/headers/os/interface/LayoutBuilder.h index 4ba372c9d3..3601369f7f 100644 --- a/headers/os/interface/LayoutBuilder.h +++ b/headers/os/interface/LayoutBuilder.h @@ -1737,8 +1737,10 @@ Menu::AddItem(const char* label, BMessage* message, char shortcut, uint32 modifiers) { BMenuItem* item = new BMenuItem(label, message, shortcut, modifiers); - if (!fMenu->AddItem(item)) + if (!fMenu->AddItem(item)) { delete item; + item = NULL; + } return MenuItem(this->fParent, fMenu, item); } @@ -1758,8 +1760,10 @@ Menu::AddItem(const char* label, uint32 messageWhat, throw; } - if (!fMenu->AddItem(item)) + if (!fMenu->AddItem(item)) { delete item; + item = NULL; + } return MenuItem(this->fParent, fMenu, item); }