X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=a4db11b24383cc085b334227442d1c8a202e5e95;hb=35487ddb762f2f8a424a713dc00bf7a04e9a40e3;hp=1808e9bcd4a6dbfe71083b9117e52ec82762ab3f;hpb=ac94403f845928d307f2a7b60e81dfca1fd13cbb;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 1808e9bc..a4db11b2 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5332,8 +5332,23 @@ static void execSetupGraphics(void) // screen rendering mode may have changed at this point SDLSetScreenRenderingMode(setup.screen_rendering_mode); + int setup_vsync_mode = VSYNC_MODE_STR_TO_INT(setup.vsync_mode); + int video_vsync_mode = video.vsync_mode; + // screen vsync mode may have changed at this point ChangeVsyncModeIfNeeded(); + + // check if setting vsync mode to selected value failed + if (setup_vsync_mode != video_vsync_mode && + setup_vsync_mode != video.vsync_mode) + { + // changing vsync mode to selected value failed -- reset displayed value + execSetupGraphics_setVsyncModes(TRUE); + + Request("Setting VSync failed!", REQ_CONFIRM); + + DrawSetupScreen(); + } } static void execSetupChooseWindowSize(void)