Browse Source

Fix Process::setDockIconVisible() may not turn the process into a background-process

tags/2021-05-28
stefan 9 years ago
parent
commit
c98f71d4c3
1 changed files with 9 additions and 7 deletions
  1. +9
    -7
      modules/juce_gui_basics/native/juce_mac_Windowing.mm

+ 9
- 7
modules/juce_gui_basics/native/juce_mac_Windowing.mm View File

@@ -483,13 +483,15 @@ String SystemClipboard::getTextFromClipboard()
void Process::setDockIconVisible (bool isVisible)
{
#if defined (MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6)
[NSApp setActivationPolicy: isVisible ? NSApplicationActivationPolicyRegular
: NSApplicationActivationPolicyProhibited];
#else
ignoreUnused (isVisible);
jassertfalse; // sorry, not available in 10.5!
#endif
ProcessSerialNumber psn { 0, kCurrentProcess };
ProcessApplicationTransformState state = isVisible
? kProcessTransformToForegroundApplication
: kProcessTransformToUIElementApplication;
OSStatus err = TransformProcessType (&psn, state);
jassert (err == 0);
ignoreUnused (err);
}
bool Desktop::isOSXDarkModeActive()


Loading…
Cancel
Save