|
@@ -1917,15 +1917,11 @@ bool SDL_UpdateFullscreenMode(SDL_Window *window, SDL_FullscreenOp fullscreen, b
|
|
goto done;
|
|
goto done;
|
|
}
|
|
}
|
|
if (commit) {
|
|
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 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 (fullscreen && Cocoa_IsWindowInFullscreenSpace(window) && !window->last_fullscreen_exclusive_display && window->fullscreen_exclusive) {
|
|
if (!Cocoa_SetWindowFullscreenSpace(window, false, true)) {
|
|
if (!Cocoa_SetWindowFullscreenSpace(window, false, true)) {
|
|
goto error;
|
|
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) {
|
|
} else if (fullscreen && window->last_fullscreen_exclusive_display && !window->fullscreen_exclusive) {
|
|
for (i = 0; i < _this->num_displays; ++i) {
|
|
for (i = 0; i < _this->num_displays; ++i) {
|
|
SDL_VideoDisplay *last_display = _this->displays[i];
|
|
SDL_VideoDisplay *last_display = _this->displays[i];
|
|
@@ -1939,10 +1935,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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|