diff --git a/src/video/cocoa/SDL_cocoaevents.m b/src/video/cocoa/SDL_cocoaevents.m index aaff506c9..09d2351ea 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]; }