From: eugeni Date: Sat, 21 Apr 2007 10:56:28 +0000 (+0000) Subject: Always deallocate glyphs. Fixes a memory leak. X-Git-Tag: 0.9.7~287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d489827db29c2da671c560bcb07e6082687fe7ce;p=libass Always deallocate glyphs. Fixes a memory leak. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23053 b3059339-0415-0410-9bf9-f77b7e298cf2 --- diff --git a/libass/ass_render.c b/libass/ass_render.c index 763f548..75bb0d5 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) {