From a983bb1300e6ade0e475d163dc035aa61cde28a2 Mon Sep 17 00:00:00 2001 From: Julian Storer Date: Mon, 31 Aug 2009 17:08:52 +0100 Subject: [PATCH] fixed a problem with native submenus in Snow Leopard --- juce_amalgamated.cpp | 3 +++ src/native/mac/juce_mac_MainMenu.mm | 3 +++ 2 files changed, 6 insertions(+) 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;