X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=a5d9d45fd62053da4df73f4d68912e6add29bdff;hb=c14b56eb259bfe5ec5e81544d8d3f526723b1c3f;hp=9c5a86fd482db0b9defdac9d88de2982695fa427;hpb=737e6b265c7b282ab560e98be0de6eb95b529066;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 9c5a86fd..a5d9d45f 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5302,13 +5302,21 @@ static void execSetupGraphics(void) if (setup_mode == SETUP_MODE_CHOOSE_WINDOW_SIZE) execSetupGraphics_setWindowSizes(FALSE); + // update "setup.vsync_mode" from list selection + // (in this case, vsync mode was changed on setup screen) + if (setup_mode == SETUP_MODE_CHOOSE_VSYNC) + execSetupGraphics_setVsyncModes(FALSE); + // update list selection from "setup.window_scaling_percent" // (window scaling may have changed by resizing the window) execSetupGraphics_setWindowSizes(TRUE); + // update list selection from "setup.vsync_mode" + // (vsync_mode may have changed by re-creating the renderer) + execSetupGraphics_setVsyncModes(TRUE); + execSetupGraphics_setScalingTypes(); execSetupGraphics_setRenderingModes(); - execSetupGraphics_setVsyncModes(FALSE); setup_mode = SETUP_MODE_GRAPHICS; @@ -5329,7 +5337,7 @@ static void execSetupGraphics(void) SDLSetScreenRenderingMode(setup.screen_rendering_mode); // screen vsync mode may have changed at this point - SDLSetScreenVsyncMode(setup.vsync_mode); + ChangeVsyncModeIfNeeded(); } static void execSetupChooseWindowSize(void)