From 69e4c770f3dfb82e36d48adfd0684dbd6d12f677 Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Sun, 4 Sep 2022 12:18:38 -0400 Subject: [PATCH] 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. --- src/video/SDL_video.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index b4f3c1e9c..3f4cfd7ec 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -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,17 +1435,14 @@ 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) { - return -1; - } - } else { - if (SDL_SetDisplayModeForDisplay(display, NULL) < 0) { - return -1; - } + /* 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) { + return -1; + } + } else { + if (SDL_SetDisplayModeForDisplay(display, NULL) < 0) { + return -1; } }