diff --git a/src/gfx.cpp b/src/gfx.cpp index 56a669dce9..9275a44137 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1980,7 +1980,7 @@ bool AdjustGUIZoom(bool automatic) ZoomLevel old_font_zoom = _font_zoom; int old_scale = _gui_scale; UpdateGUIZoom(); - if (old_scale == _gui_scale) return false; + if (old_scale == _gui_scale && old_gui_zoom == _gui_zoom) return false; /* Reload sprites if sprite zoom level has changed. */ if (old_gui_zoom != _gui_zoom) { diff --git a/src/settings_table.cpp b/src/settings_table.cpp index 2f3c3d8cd2..e6b95f6890 100644 --- a/src/settings_table.cpp +++ b/src/settings_table.cpp @@ -265,11 +265,7 @@ static void ZoomMinMaxChanged(int32_t) { ConstrainAllViewportsZoom(); GfxClearSpriteCache(); - if (_settings_client.gui.zoom_min > _gui_zoom) { - /* Restrict GUI zoom if it is no longer available. */ - _gui_zoom = _settings_client.gui.zoom_min; - UpdateCursorSize(); - LoadStringWidthTable(); + if (AdjustGUIZoom(false)) { ReInitAllWindows(true); } }