Revert "cocoa: Don't re-enter a fullscreen space if leaving to enter an exclusive mode"

This reverts commit ee8f2861e7.

It turns out that the problem is elsewhere, related to needing to block mode changes until spaces transitions are complete.
This commit is contained in:
Frank Praznik
2025-08-04 23:49:15 -04:00
parent b6fa89ea74
commit 3163e0cc9f

View File

@@ -1927,15 +1927,11 @@ bool SDL_UpdateFullscreenMode(SDL_Window *window, SDL_FullscreenOp fullscreen, b
goto done;
}
if (commit) {
bool skip_spaces_switch = false;
// If we're switching between a fullscreen Space and exclusive fullscreen, we need to get back to normal first.
if (fullscreen && Cocoa_IsWindowInFullscreenSpace(window) && !window->last_fullscreen_exclusive_display && window->fullscreen_exclusive) {
if (!Cocoa_SetWindowFullscreenSpace(window, false, true)) {
goto error;
}
// We just left spaces to go to an exclusive mode, so don't try to re-enter.
skip_spaces_switch = true;
} else if (fullscreen && window->last_fullscreen_exclusive_display && !window->fullscreen_exclusive) {
for (i = 0; i < _this->num_displays; ++i) {
SDL_VideoDisplay *last_display = _this->displays[i];
@@ -1949,10 +1945,8 @@ bool SDL_UpdateFullscreenMode(SDL_Window *window, SDL_FullscreenOp fullscreen, b
}
}
if (!skip_spaces_switch) {
if (Cocoa_SetWindowFullscreenSpace(window, !!fullscreen, syncHint)) {
goto done;
}
if (Cocoa_SetWindowFullscreenSpace(window, !!fullscreen, syncHint)) {
goto done;
}
}
}