Commit c7e1b289eefa6236cfff4de0a93cff1cbb5d5bd3

Ryan C. Gordon 2020-01-27T17:15:12

cocoa: Fix command line apps' menu bar not working on macOS Catalina. Fixes Bugzilla #4937.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/video/cocoa/SDL_cocoaevents.m b/src/video/cocoa/SDL_cocoaevents.m
index aaff506..09d2351 100644
--- a/src/video/cocoa/SDL_cocoaevents.m
+++ b/src/video/cocoa/SDL_cocoaevents.m
@@ -238,6 +238,11 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
      * of here. https://bugzilla.libsdl.org/show_bug.cgi?id=3051
      */
     if (!SDL_GetHintBoolean(SDL_HINT_MAC_BACKGROUND_APP, SDL_FALSE)) {
+        /* Get more aggressive for Catalina: activate the Dock first so we definitely reset all activation state. */
+        for (NSRunningApplication *i in [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.apple.dock"]) {
+            [i activateWithOptions:NSApplicationActivateIgnoringOtherApps];
+            break;
+        }
         [NSApp activateIgnoringOtherApps:YES];
     }