cocoa: Properly set the pending fullscreen spaces state when in a transition

This commit is contained in:
Frank Praznik 2025-03-24 23:23:32 -04:00
parent dd9b9d4513
commit b520cde18f

View file

@ -868,14 +868,16 @@ static NSCursor *Cocoa_GetDesiredCursor(void)
return NO; // we only allow you to make a Space on fullscreen desktop windows. return NO; // we only allow you to make a Space on fullscreen desktop windows.
} else if (!state && window->last_fullscreen_exclusive_display) { } else if (!state && window->last_fullscreen_exclusive_display) {
return NO; // we only handle leaving the Space on windows that were previously fullscreen desktop. 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. return YES; // already there.
} }
if (inFullscreenTransition) { if (inFullscreenTransition) {
if (state) { if (state) {
[self clearPendingWindowOperation:PENDING_OPERATION_LEAVE_FULLSCREEN];
[self addPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN]; [self addPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN];
} else { } else {
[self clearPendingWindowOperation:PENDING_OPERATION_ENTER_FULLSCREEN];
[self addPendingWindowOperation:PENDING_OPERATION_LEAVE_FULLSCREEN]; [self addPendingWindowOperation:PENDING_OPERATION_LEAVE_FULLSCREEN];
} }
return YES; return YES;