From 35487ddb762f2f8a424a713dc00bf7a04e9a40e3 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 6 Sep 2020 01:54:33 +0200 Subject: [PATCH] added check if setting vsync mode to selected value was successful --- src/screens.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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) -- 2.34.1