From 95d4b893f159c0b3541b8f0a33d789f44f38646c Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 6 Sep 2020 01:29:23 +0200 Subject: [PATCH] changed function logic for changing fullscreen/scaling/vsync to match --- src/tools.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/tools.c b/src/tools.c index d44e2cb4..6fab5c19 100644 --- a/src/tools.c +++ b/src/tools.c @@ -9245,26 +9245,28 @@ void PlaySoundSelecting(void) void ToggleFullscreenIfNeeded(void) { - if (setup.fullscreen != video.fullscreen_enabled && - video.fullscreen_available) - { - SDLSetWindowFullscreen(setup.fullscreen); + // if setup and video fullscreen state are already matching, nothing do do + if (setup.fullscreen == video.fullscreen_enabled || + !video.fullscreen_available) + return; - // set setup value according to successfully changed fullscreen mode - setup.fullscreen = video.fullscreen_enabled; - } + SDLSetWindowFullscreen(setup.fullscreen); + + // set setup value according to successfully changed fullscreen mode + setup.fullscreen = video.fullscreen_enabled; } void ChangeWindowScalingIfNeeded(void) { - if (setup.window_scaling_percent != video.window_scaling_percent && - !video.fullscreen_enabled) - { - SDLSetWindowScaling(setup.window_scaling_percent); + // if setup and video window scaling are already matching, nothing do do + if (setup.window_scaling_percent == video.window_scaling_percent || + video.fullscreen_enabled) + return; - // set setup value according to successfully changed window scaling - setup.window_scaling_percent = video.window_scaling_percent; - } + SDLSetWindowScaling(setup.window_scaling_percent); + + // set setup value according to successfully changed window scaling + setup.window_scaling_percent = video.window_scaling_percent; } void ChangeVsyncModeIfNeeded(void) -- 2.34.1