From 802969a42ef34f883a6aa0ebfc6edb0fdee562b1 Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 10 Jul 2013 14:11:06 +0100 Subject: [PATCH] Fix for OSX native recent files menu. --- extras/Introjucer/Source/Application/jucer_Application.h | 4 +--- modules/juce_gui_basics/native/juce_mac_MainMenu.mm | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/extras/Introjucer/Source/Application/jucer_Application.h b/extras/Introjucer/Source/Application/jucer_Application.h index 2fde52b5f8..3b9ddb47f2 100644 --- a/extras/Introjucer/Source/Application/jucer_Application.h +++ b/extras/Introjucer/Source/Application/jucer_Application.h @@ -90,9 +90,7 @@ public: mainWindowList.createWindowIfNoneAreOpen(); #if JUCE_MAC - // NB: the native recent menus doesn't work at the moment - must reenable this when fixed - //MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent"); - MenuBarModel::setMacMainMenu (menuModel, nullptr); + MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent"); #endif struct ModuleFolderChecker : public CallbackMessage diff --git a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm index 1438ecb89e..c08a2b0998 100644 --- a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm +++ b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm @@ -225,7 +225,10 @@ public: if (recent->recentItem != nil) { - [menuToAddTo addItem: [recent->recentItem copyWithZone: nil]]; + if (NSMenu* parent = [recent->recentItem menu]) + [parent removeItem: recent->recentItem]; + + [menuToAddTo addItem: recent->recentItem]; return; } }