diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp index 7edeaaf150..18e74e1a57 100644 --- a/juce_amalgamated.cpp +++ b/juce_amalgamated.cpp @@ -259191,6 +259191,7 @@ public: [item setEnabled: iter.isEnabled]; NSMenu* sub = createMenu (*iter.subMenu, iter.itemName, topLevelMenuId, topLevelIndex); + [sub setDelegate: nil]; [menuToAddTo setSubmenu: sub forItem: item]; } else @@ -259397,6 +259398,8 @@ void MenuBarModel::setMacMainMenu (MenuBarModel* newMenuBarModel, { if (getMacMainMenu() != newMenuBarModel) { + const ScopedAutoReleasePool pool; + if (newMenuBarModel == 0) { delete JuceMainMenuHandler::instance; diff --git a/src/native/mac/juce_mac_MainMenu.mm b/src/native/mac/juce_mac_MainMenu.mm index cb268e953f..a87fc6093b 100644 --- a/src/native/mac/juce_mac_MainMenu.mm +++ b/src/native/mac/juce_mac_MainMenu.mm @@ -258,6 +258,7 @@ public: [item setEnabled: iter.isEnabled]; NSMenu* sub = createMenu (*iter.subMenu, iter.itemName, topLevelMenuId, topLevelIndex); + [sub setDelegate: nil]; [menuToAddTo setSubmenu: sub forItem: item]; } else @@ -465,6 +466,8 @@ void MenuBarModel::setMacMainMenu (MenuBarModel* newMenuBarModel, { if (getMacMainMenu() != newMenuBarModel) { + const ScopedAutoReleasePool pool; + if (newMenuBarModel == 0) { delete JuceMainMenuHandler::instance;