From f8119d476036540b7d7833b1156d95d9da3cd32c Mon Sep 17 00:00:00 2001 From: Dan Andrus Date: Wed, 23 Jul 2025 16:23:19 +0200 Subject: [PATCH] Check NSWindow::isVisible before sending SDL_WINDOWEVENT_RESTORED during Cocoa_WindowListener::windowDidResize (cherry picked from commit e610529e84688b556f008e14e3eb81f771aa86bf) --- src/video/cocoa/SDL_cocoawindow.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 19e5aae306..641df8129e 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/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;