From b520cde18f5e64bb1be27a611564d47234105e98 Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Mon, 24 Mar 2025 23:23:32 -0400 Subject: [PATCH] cocoa: Properly set the pending fullscreen spaces state when in a transition --- src/video/cocoa/SDL_cocoawindow.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index c164f15f2e..fd561d4822 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -868,14 +868,16 @@ static NSCursor *Cocoa_GetDesiredCursor(void) return NO; // we only allow you to make a Space on fullscreen desktop windows. } else if (!state && window->last_fullscreen_exclusive_display) { return NO; // we only handle leaving the Space on windows that were previously fullscreen desktop. - } else if (state == isFullscreenSpace) { + } else if (state == isFullscreenSpace && !inFullscreenTransition) { return YES; // already there. } if (inFullscreenTransition) { if (state) { + [self clearPendingWindowOperation:PENDING_OPERATION_LEAVE_FULLSCREEN]; [self addPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN]; } else { + [self clearPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN]; [self addPendingWindowOperation:PENDING_OPERATION_LEAVE_FULLSCREEN]; } return YES;