From 2a780902ba422e2012bf7135a0b5d67e6f5cf1af Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 15 Nov 2011 16:53:34 +0000 Subject: [PATCH] Fixed a minor leak in CoreAudioFormat. Fixed incorrect OSX and iOS version reporting. Added Xext library to linux introjucer build. Mac menu shortcut key fix. --- .../Project Saving/jucer_ProjectExport_Make.h | 2 +- .../codecs/juce_CoreAudioFormat.cpp | 1 + modules/juce_core/native/juce_mac_SystemStats.mm | 14 +++++++------- .../juce_gui_basics/native/juce_mac_MainMenu.mm | 2 +- modules/juce_gui_basics/widgets/juce_Toolbar.h | 4 ++-- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h index 79f799cb95..6bbb9fecb5 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h @@ -166,7 +166,7 @@ private: out << " -L" << libraryPaths.getReference(i).toUnixStyle().quoted(); } - const char* defaultLibs[] = { "freetype", "pthread", "rt", "X11", "GL", "GLU", "Xinerama", "asound", 0 }; + const char* defaultLibs[] = { "freetype", "pthread", "rt", "X11", "GL", "GLU", "Xinerama", "asound", "Xext", 0 }; StringArray libs (defaultLibs); for (int i = 0; i < libs.size(); ++i) diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp index 6f389f61e8..b2348343eb 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp @@ -46,6 +46,7 @@ namespace extensionsArray.add ("." + String::fromCFString ((CFStringRef) CFArrayGetValueAtIndex (extensions, i))); } + CFRelease (extensions); return extensionsArray; } } diff --git a/modules/juce_core/native/juce_mac_SystemStats.mm b/modules/juce_core/native/juce_mac_SystemStats.mm index 9ef973da7a..8484bdc5f4 100644 --- a/modules/juce_core/native/juce_mac_SystemStats.mm +++ b/modules/juce_core/native/juce_mac_SystemStats.mm @@ -110,16 +110,16 @@ SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() String SystemStats::getOperatingSystemName() { #if JUCE_IOS - String s ("iOS "); + return "iOS " + nsStringToJuce ([[UIDevice currentDevice] systemVersion]); #else + SInt32 major, minor; + Gestalt (gestaltSystemVersionMajor, &major); + Gestalt (gestaltSystemVersionMinor, &minor); + String s ("Mac OSX "); - #endif - - struct utsname uts; - if (uname (&uts) >= 0) - s << uts.release; - + s << (int) major << '.' << (int) minor; return s; + #endif } #if ! JUCE_IOS diff --git a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm index 8efe91dedd..994851ff13 100644 --- a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm +++ b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm @@ -278,7 +278,7 @@ public: if (key == 0) key = (juce_wchar) kp.getKeyCode(); - [item setKeyEquivalent: juceStringToNS (String::charToString (key))]; + [item setKeyEquivalent: juceStringToNS (String::charToString (key).toLowerCase())]; [item setKeyEquivalentModifierMask: juceModsToNSMods (kp.getModifiers())]; } } diff --git a/modules/juce_gui_basics/widgets/juce_Toolbar.h b/modules/juce_gui_basics/widgets/juce_Toolbar.h index 352037f28c..d49ec676e2 100644 --- a/modules/juce_gui_basics/widgets/juce_Toolbar.h +++ b/modules/juce_gui_basics/widgets/juce_Toolbar.h @@ -200,8 +200,8 @@ public: /** Pops up a modal dialog box that allows this toolbar to be customised by the user. The dialog contains a ToolbarItemPalette and various controls for editing other - aspects of the toolbar. This method will block and run the dialog box modally, - returning when the user closes it. + aspects of the toolbar. The dialog box will be opened modally, but the method will + return immediately. The factory is used to determine the set of items that will be shown on the palette.