From 014196d98d500aba52298dfe14e1afa6b752f989 Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Tue, 19 Nov 2024 10:52:27 -0500 Subject: [PATCH] cocoa: Fix minimizing fullscreen windows on Sequoia Sequoia seems to require that the window briefly be made key when minimizing it after coming out of fullscreen. --- src/video/cocoa/SDL_cocoawindow.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 7afa943e52..cf6290cd50 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -2801,14 +2801,7 @@ SDL_FullscreenResult Cocoa_SetWindowFullscreen(SDL_VideoDevice *_this, SDL_Windo // When the window style changes the title is cleared if (!fullscreen) { Cocoa_SetWindowTitle(_this, window); - data.was_zoomed = NO; - - if ([data.listener windowOperationIsPending:PENDING_OPERATION_MINIMIZE]) { - Cocoa_WaitForMiniaturizable(window); - [data.listener addPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN]; - [nswindow miniaturize:nil]; - } } if (SDL_ShouldAllowTopmost() && fullscreen) { @@ -2842,6 +2835,15 @@ SDL_FullscreenResult Cocoa_SetWindowFullscreen(SDL_VideoDevice *_this, SDL_Windo } } + /* When coming out of fullscreen to minimize, this needs to happen after the window + * is made key again, or it won't minimize on 15.0 (Sequoia). + */ + if (!fullscreen && [data.listener windowOperationIsPending:PENDING_OPERATION_MINIMIZE]) { + Cocoa_WaitForMiniaturizable(window); + [data.listener addPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN]; + [nswindow miniaturize:nil]; + } + ScheduleContextUpdates(data); }