Browse Source

Use the default window focus behavior on macOS

We had to work around odd behavior in really old versions of macOS, but the current behavior is great.

Fixes https://github.com/libsdl-org/SDL/issues/3954
Sam Lantinga 1 day ago
parent
commit
bce2a336d2
1 changed files with 4 additions and 11 deletions
  1. 4 11
      src/video/cocoa/SDL_cocoaevents.m

+ 4 - 11
src/video/cocoa/SDL_cocoaevents.m

@@ -261,11 +261,10 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
         return;
     }
 
+    // Restore any fullscreen window
     device = SDL_GetVideoDevice();
     if (device && device->windows) {
-        SDL_Window *window = device->windows;
-        int i;
-        for (i = 0; i < device->num_displays; ++i) {
+        for (int i = 0; i < device->num_displays; ++i) {
             SDL_Window *fullscreen_window = device->displays[i]->fullscreen_window;
             if (fullscreen_window) {
                 if (fullscreen_window->flags & SDL_WINDOW_MINIMIZED) {
@@ -274,12 +273,6 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
                 return;
             }
         }
-
-        if (window->flags & SDL_WINDOW_MINIMIZED) {
-            SDL_RestoreWindow(window);
-        } else {
-            SDL_RaiseWindow(window);
-        }
     }
 }
 
@@ -370,9 +363,9 @@ static void Cocoa_DispatchEvent(NSEvent *theEvent)
 
 - (IBAction)menu:(id)sender
 {
-	SDL_TrayEntry *entry = [[sender representedObject] pointerValue];
+    SDL_TrayEntry *entry = [[sender representedObject] pointerValue];
 
-	SDL_ClickTrayEntry(entry);
+    SDL_ClickTrayEntry(entry);
 }
 
 @end