Browse Source

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

Sam Lantinga 2 years ago
parent
commit
6aeb07d4c2
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

@@ -811,7 +811,12 @@ static void Cocoa_UpdateClipCursor(SDL_Window *window)
     SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_MOVED, x, y);
     SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_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_EVENT_WINDOW_RESTORED, 0, 0);
     } else if (zoomed) {