Changeset - r25028:5296718e43ab
[Not reviewed]
master
0 1 0
Patric Stout - 3 years ago 2021-03-10 12:39:03
truebrain@openttd.org
Fix #8711: having gui_zoom lower than zoom_min causes crashes (#8835)

gui_zoom was never clamp'd between zoom_min/zoom_max.

zoom_min controls how zoomed-in we load sprites. For a value of 1,
no quad-sizes sprites are loaded. If gui_zoom would be 0, meaning
it wants quad-sized sprites to display, it was printing random
stuff to the screen, which could or could not result in crashes.
1 file changed with 3 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/gfx.cpp
Show inline comments
 
@@ -1893,7 +1893,9 @@ void UpdateGUIZoom()
 
	if (_gui_zoom_cfg == ZOOM_LVL_CFG_AUTO) {
 
		_gui_zoom = static_cast<ZoomLevel>(Clamp(VideoDriver::GetInstance()->GetSuggestedUIZoom(), _settings_client.gui.zoom_min, _settings_client.gui.zoom_max));
 
	} else {
 
		_gui_zoom = static_cast<ZoomLevel>(_gui_zoom_cfg);
 
		_gui_zoom = static_cast<ZoomLevel>(Clamp(_gui_zoom_cfg, _settings_client.gui.zoom_min, _settings_client.gui.zoom_max));
 
		/* Write the value back in case it was not between min/max. */
 
		_gui_zoom_cfg = _gui_zoom;
 
	}
 

	
 
	/* Determine real font zoom to use. */
0 comments (0 inline, 0 general)