summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_render.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 8785726dbe..c6ed514a20 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -405,6 +405,9 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
FT_Done_Glyph(text_info->glyphs[i].outline_glyph);
// cache
+ if (text_info->glyphs[i].hash_key.frx == 0 &&
+ text_info->glyphs[i].hash_key.fry == 0 &&
+ text_info->glyphs[i].hash_key.frz == 0) {
hash_val.bbox_scaled = text_info->glyphs[i].bbox;
hash_val.bm_o = text_info->glyphs[i].bm_o;
hash_val.bm = text_info->glyphs[i].bm;
@@ -412,6 +415,7 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
hash_val.advance.x = text_info->glyphs[i].advance.x;
hash_val.advance.y = text_info->glyphs[i].advance.y;
cache_add_glyph(&(text_info->glyphs[i].hash_key), &hash_val);
+ }
}
}