Browse Source

Fixed SDL windows getting the maximized state after leaving fullscreen on macOS

(cherry picked from commit 2df08fb1b27b721998a1380a2acdbe1494b5591e)
Sam Lantinga 2 years ago
parent
commit
031348d377
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/video/cocoa/SDL_cocoawindow.m

+ 6 - 1
src/video/cocoa/SDL_cocoawindow.m

@@ -817,7 +817,12 @@ Cocoa_UpdateClipCursor(SDL_Window * window)
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, x, y);
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, w, h);
 
-    zoomed = [nswindow isZoomed];
+    /* isZoomed always returns true if the window is not resizable */
+    if ((window->flags & SDL_WINDOW_RESIZABLE) && [nswindow isZoomed]) {
+        zoomed = YES;
+    } else {
+        zoomed = NO;
+    }
     if (!zoomed) {
         SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESTORED, 0, 0);
     } else if (zoomed) {