Change: Be selective about clearing sprite/font caches on interface scale change. (#11576)

Sprite cache contains all zoom levels anyway, so does not need to be reloaded.

Font cache does not need to be clear if the font zoom hasn't changed, i.e. when changing the max sprite zoom level setting.
wip-string
Peter Nelson 6 months ago committed by GitHub
parent b62fafc5d4
commit 0a8bcdd344
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1982,17 +1982,17 @@ bool AdjustGUIZoom(bool automatic)
UpdateGUIZoom();
if (old_scale == _gui_scale && old_gui_zoom == _gui_zoom) return false;
/* Reload sprites if sprite zoom level has changed. */
/* Update cursors if sprite zoom level has changed. */
if (old_gui_zoom != _gui_zoom) {
GfxClearSpriteCache();
VideoDriver::GetInstance()->ClearSystemSprites();
UpdateCursorSize();
} else if (old_font_zoom != _font_zoom) {
}
if (old_font_zoom != _font_zoom) {
GfxClearFontSpriteCache();
ClearFontCache();
LoadStringWidthTable();
}
ClearFontCache();
LoadStringWidthTable();
UpdateAllVirtCoords();
/* Adjust all window sizes to match the new zoom level, so that they don't appear

Loading…
Cancel
Save