X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=23950185c844134ff1c5927f43f3337762cc2e0c;hb=5bc457a755a2cd99ac689da3205cce06b3e40e68;hp=7f694d98cede87b8a6dd47ce02fd04a8418466d3;hpb=68a192ca5b9f81833abb24501e22a590678f68b9;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 7f694d98..23950185 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1317,6 +1317,8 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading) static LevelDirTree *leveldir_last_valid = NULL; boolean levelset_has_changed = FALSE; + LimitScreenUpdates(FALSE); + FadeSetLeaveScreen(); /* do not fade out here -- function may continue and fade on editor screen */ @@ -1344,7 +1346,8 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading) } /* needed if last screen was the setup screen and fullscreen state changed */ - ToggleFullscreenIfNeeded(); + // (moved to "execSetupGraphics()" to change fullscreen state directly) + // ToggleFullscreenOrChangeWindowScalingIfNeeded(); /* leveldir_current may be invalid (level group, parent link) */ if (!validLevelSeries(leveldir_current)) @@ -4382,6 +4385,9 @@ static void execSetupGraphics() setup_mode = SETUP_MODE_GRAPHICS; DrawSetupScreen(); + + // window scaling may have changed at this point + ToggleFullscreenOrChangeWindowScalingIfNeeded(); } #if !defined(PLATFORM_ANDROID) @@ -5164,6 +5170,10 @@ static void changeSetupValue(int pos, int dx) } drawSetupValue(pos); + + // fullscreen state may have changed at this point + if (setup_info[pos].value == &setup.fullscreen) + ToggleFullscreenOrChangeWindowScalingIfNeeded(); } static void DrawCursorAndText_Setup(int pos, boolean active)