diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index 4998e3cdf9..fdd4e907d1 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -138,7 +138,7 @@ struct AAXClasses static void initialise() { #if JUCE_WINDOWS - PlatformUtilities::setCurrentModuleInstanceHandle (moduleInstance); + Process::setCurrentModuleInstanceHandle (moduleInstance); #endif initialiseJuce_GUI(); diff --git a/modules/juce_core/threads/juce_Process.h b/modules/juce_core/threads/juce_Process.h index 2caf56d5f0..717b77face 100644 --- a/modules/juce_core/threads/juce_Process.h +++ b/modules/juce_core/threads/juce_Process.h @@ -88,8 +88,7 @@ public: static void lowerPrivilege(); //============================================================================== - /** Returns true if this process is being hosted by a debugger. - */ + /** Returns true if this process is being hosted by a debugger. */ static bool JUCE_CALLTYPE isRunningUnderDebugger(); @@ -130,6 +129,12 @@ public: static void JUCE_CALLTYPE setCurrentModuleInstanceHandle (void* newHandle) noexcept; #endif + #if JUCE_MAC || DOXYGEN + //============================================================================== + /** OSX ONLY - Shows or hides the OSX dock icon for this app. */ + static void setDockIconVisible (bool isVisible); + #endif + private: Process(); JUCE_DECLARE_NON_COPYABLE (Process); diff --git a/modules/juce_gui_basics/native/juce_mac_Windowing.mm b/modules/juce_gui_basics/native/juce_mac_Windowing.mm index 737c8a386b..3229756c6d 100644 --- a/modules/juce_gui_basics/native/juce_mac_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_mac_Windowing.mm @@ -372,3 +372,9 @@ String SystemClipboard::getTextFromClipboard() return text == nil ? String::empty : nsStringToJuce (text); } + +void Process::setDockIconVisible (bool isVisible) +{ + [NSApp setActivationPolicy: isVisible ? NSApplicationActivationPolicyRegular + : NSApplicationActivationPolicyProhibited]; +}