summaryrefslogtreecommitdiff
path: root/src/saveload/misc_sl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/saveload/misc_sl.cpp')
-rw-r--r--src/saveload/misc_sl.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp
index 9ca806701..877fa1269 100644
--- a/src/saveload/misc_sl.cpp
+++ b/src/saveload/misc_sl.cpp
@@ -56,9 +56,12 @@ void ResetViewportAfterLoadGame()
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);
- /* Ensure zoom level is allowed */
- while (vp->zoom < _settings_client.gui.zoom_min) DoZoomInOutWindow(ZOOM_OUT, w);
- while (vp->zoom > _settings_client.gui.zoom_max) DoZoomInOutWindow(ZOOM_IN, w);
+ /* If zoom_max is ZOOM_LVL_MIN then the setting has not been loaded yet, therefore all levels are allowed. */
+ if (_settings_client.gui.zoom_max != ZOOM_LVL_MIN) {
+ /* Ensure zoom level is allowed */
+ while (vp->zoom < _settings_client.gui.zoom_min) DoZoomInOutWindow(ZOOM_OUT, w);
+ while (vp->zoom > _settings_client.gui.zoom_max) DoZoomInOutWindow(ZOOM_IN, w);
+ }
DoZoomInOutWindow(ZOOM_NONE, w); // update button status
MarkWholeScreenDirty();