X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswftext.c;h=b1a108065215d721f90ad91ca33bc48997d8e3f4;hb=01bb33639e44eebe4322c8759197114b955b990a;hp=54e49bfe57750d8b91e49a1f1e8cb7d0e6d528b0;hpb=749f477480059aab697459927857d648f0145b8b;p=swftools.git diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index 54e49bf..b1a1080 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -431,6 +431,8 @@ swf_FontExtract_DefineTextCallback(int id, SWFFONT * f, TAG * t, int jobs, color.b = swf_GetU8(t); if (swf_GetTagID(t) == ST_DEFINETEXT2) color.a = swf_GetU8(t); + else + color.a = 255; } if (flags & TF_HASXOFFSET) x = swf_GetS16(t); @@ -573,8 +575,10 @@ static void font_freeglyphnames(SWFFONT*f) if (f->glyphnames) { int t; for (t = 0; t < f->numchars; t++) { - if (f->glyphnames[t]) + if (f->glyphnames[t]) { rfx_free(f->glyphnames[t]); + f->glyphnames[t] = 0; + } } rfx_free(f->glyphnames); f->glyphnames = 0; @@ -655,6 +659,9 @@ int swf_FontReduce(SWFFONT * f) int max_glyph = 0; if ((!f) || (!f->use) || f->use->is_reduced) return -1; + + font_freelayout(f); + font_freeglyphnames(f); for (i = 0; i < f->numchars; i++) { if(!f->use->chars[i]) { @@ -677,8 +684,6 @@ int swf_FontReduce(SWFFONT * f) } f->maxascii = max_unicode; f->numchars = max_glyph; - font_freelayout(f); - font_freeglyphnames(f); font_freename(f); return 0; }