diff options
author | frosch <frosch@openttd.org> | 2012-02-25 17:20:02 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2012-02-25 17:20:02 +0000 |
commit | df54f25efe5817e35c4eba9b95c5b8718d3a7551 (patch) | |
tree | c439ac8732a6615eb29327a7fb2baa0c7ccd35cb /src | |
parent | 3d381403a88387d1599c3a63dd0bdf9bb97a2911 (diff) | |
download | openttd-df54f25efe5817e35c4eba9b95c5b8718d3a7551.tar.xz |
(svn r23987) -Fix (r23000): Also reset the font glyph cache when switching blitters.
Diffstat (limited to 'src')
-rw-r--r-- | src/fontcache.cpp | 8 | ||||
-rw-r--r-- | src/fontcache.h | 1 | ||||
-rw-r--r-- | src/gfxinit.cpp | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/fontcache.cpp b/src/fontcache.cpp index bed9bc4b0..a8448be4b 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -974,6 +974,14 @@ void UninitFreeType() _library = NULL; } +/** + * Reset cached glyphs. + */ +void ClearFontCache() +{ + ResetGlyphCache(true); + ResetGlyphCache(false); +} static FT_Face GetFontFace(FontSize size) { diff --git a/src/fontcache.h b/src/fontcache.h index bfb547332..32cfdb9b6 100644 --- a/src/fontcache.h +++ b/src/fontcache.h @@ -44,6 +44,7 @@ extern FreeTypeSettings _freetype; void InitFreeType(bool monospace); void UninitFreeType(); +void ClearFontCache(); const Sprite *GetGlyph(FontSize size, uint32 key); uint GetGlyphWidth(FontSize size, uint32 key); bool GetDrawGlyphShadow(); diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index b2feb63a8..50efd9ad8 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -256,6 +256,7 @@ void GfxLoadSprites() DEBUG(sprite, 2, "Loading sprite set %d", _settings_game.game_creation.landscape); SwitchNewGRFBlitter(); + ClearFontCache(); GfxInitSpriteMem(); LoadSpriteTables(); GfxInitPalettes(); |