From 2b1fb8c4efaa53757c7f9fdc940e6748ba409681 Mon Sep 17 00:00:00 2001 From: eugeni Date: Sat, 21 Apr 2007 10:56:28 +0000 Subject: Always deallocate glyphs. Fixes a memory leak. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23053 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass_render.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libass/ass_render.c') 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) { -- cgit v1.2.3