summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 763f548ff6..75bb0d5ade 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -402,9 +402,6 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
&text_info->glyphs[i].bm_s, text_info->glyphs[i].be);
if (error)
text_info->glyphs[i].symbol = 0;
- FT_Done_Glyph(text_info->glyphs[i].glyph);
- if (text_info->glyphs[i].outline_glyph)
- FT_Done_Glyph(text_info->glyphs[i].outline_glyph);
// cache
hash_val.bm_o = text_info->glyphs[i].bm_o;
@@ -412,6 +409,10 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
hash_val.bm_s = text_info->glyphs[i].bm_s;
cache_add_bitmap(&(text_info->glyphs[i].hash_key), &hash_val);
}
+ if (text_info->glyphs[i].glyph)
+ FT_Done_Glyph(text_info->glyphs[i].glyph);
+ if (text_info->glyphs[i].outline_glyph)
+ FT_Done_Glyph(text_info->glyphs[i].outline_glyph);
}
for (i = 0; i < text_info->length; ++i) {