# HG changeset patch # User eugeni # Date 1177436163 0 # Node ID 778394a078ba925e3b4d3ef05c7f419f931288ca # Parent 7defdf1c63ef3c263180edcc984289b9a547ed27 Do not use FT_Glyph_Copy with NULL glyphs. Contrary to the docs, it leaves garbage in *target. diff -r 7defdf1c63ef -r 778394a078ba libass/ass_render.c --- a/libass/ass_render.c Tue Apr 24 09:22:34 2007 +0000 +++ b/libass/ass_render.c Tue Apr 24 17:36:03 2007 +0000 @@ -1239,7 +1239,8 @@ val = cache_find_glyph(&key); if (val) { FT_Glyph_Copy(val->glyph, &info->glyph); - FT_Glyph_Copy(val->outline_glyph, &info->outline_glyph); + if (val->outline_glyph) + FT_Glyph_Copy(val->outline_glyph, &info->outline_glyph); info->bbox = val->bbox_scaled; info->advance.x = val->advance.x; info->advance.y = val->advance.y; @@ -1260,8 +1261,10 @@ } } + memset(&v, 0, sizeof(v)); FT_Glyph_Copy(info->glyph, &v.glyph); - FT_Glyph_Copy(info->outline_glyph, &v.outline_glyph); + if (info->outline_glyph) + FT_Glyph_Copy(info->outline_glyph, &v.outline_glyph); v.advance = info->advance; v.bbox_scaled = info->bbox; cache_add_glyph(&key, &v);