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;