video: Make the mode switching function a NOP if mode switching is disabled

Instead of wrapping individual calls to SDL_SetDisplayModeForDisplay(), just check the flag in the function itself and make it a NOP that cannot fail if the flag is set. Silences some errant "SDL video driver doesn't support changing display mode" log errors.
This commit is contained in:
Frank Praznik 2022-09-04 12:18:38 -04:00 committed by Sam Lantinga
parent 768b6728bd
commit 69e4c770f3
1 changed files with 13 additions and 11 deletions

View File

@ -1030,6 +1030,11 @@ SDL_SetDisplayModeForDisplay(SDL_VideoDisplay * display, const SDL_DisplayMode *
SDL_DisplayMode current_mode;
int result;
/* Mode switching disabled via driver quirk flag, nothing to do and cannot fail. */
if (DisableDisplayModeSwitching(_this)) {
return 0;
}
if (mode) {
display_mode = *mode;
@ -1430,8 +1435,6 @@ SDL_UpdateFullscreenMode(SDL_Window * window, SDL_bool fullscreen)
resized = SDL_FALSE;
}
/* Don't try to change the display mode if the driver doesn't want it. */
if (DisableDisplayModeSwitching(_this) == SDL_FALSE) {
/* only do the mode change if we want exclusive fullscreen */
if ((window->flags & SDL_WINDOW_FULLSCREEN_DESKTOP) != SDL_WINDOW_FULLSCREEN_DESKTOP) {
if (SDL_SetDisplayModeForDisplay(display, &fullscreen_mode) < 0) {
@ -1442,7 +1445,6 @@ SDL_UpdateFullscreenMode(SDL_Window * window, SDL_bool fullscreen)
return -1;
}
}
}
if (_this->SetWindowFullscreen) {
_this->SetWindowFullscreen(_this, other, display, SDL_TRUE);