Parcourir la source

Check NSWindow::isVisible before sending SDL_WINDOWEVENT_RESTORED during Cocoa_WindowListener::windowDidResize

(cherry picked from commit e610529e84688b556f008e14e3eb81f771aa86bf)
Dan Andrus il y a 1 mois
Parent
commit
f8119d4760
1 fichiers modifiés avec 5 ajouts et 0 suppressions
  1. 5 0
      src/video/cocoa/SDL_cocoawindow.m

+ 5 - 0
src/video/cocoa/SDL_cocoawindow.m

@@ -855,6 +855,11 @@ static NSCursor *Cocoa_GetDesiredCursor(void)
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, x, y);
     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, w, h);
 
+    /* The OS can resize the window automatically if the display density
+       changes while the window is miniaturized or hidden */
+    if (![nswindow isVisible])
+        return;
+
     /* isZoomed always returns true if the window is not resizable */
     if ((window->flags & SDL_WINDOW_RESIZABLE) && [nswindow isZoomed]) {
         zoomed = YES;