X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.c;h=257d41bd5b9d848c60433ac7b7a32a4c6265fabb;hb=08cb34b5daec9b0e7736e19b35ff72a8d9e0348a;hp=acec56564246add0d0679604e20369a751630757;hpb=1fd32055c18aeabc8e40474c3bc4a927caf55cb4;p=swftools.git diff --git a/lib/rfxswf.c b/lib/rfxswf.c index acec565..257d41b 100644 --- a/lib/rfxswf.c +++ b/lib/rfxswf.c @@ -332,13 +332,13 @@ void swf_GetGradient(TAG * tag, GRADIENT * gradient, char alpha) memset(gradient, 0, sizeof(GRADIENT)); return; } - U8 num = swf_GetU8(tag); + U8 num = swf_GetU8(tag) & 15; if(gradient) { gradient->num = num; gradient->rgba = rfx_calloc(sizeof(RGBA)*gradient->num); gradient->ratios = rfx_calloc(sizeof(gradient->ratios[0])*gradient->num); } - for(t=0;tnum;t++) + for(t=0;tpos; - if(swf->fileVersion >= 8) { - if ((swf->firstTag && swf->firstTag->id != ST_FILEATTRIBUTES) && - (!swf->firstTag->next || swf->firstTag->next->id != ST_FILEATTRIBUTES)) - { - U32 flags = 0; // | 128 = usenetwork, | 8 = hasmetadata - swf_SetU32(swf_InsertTagBefore(swf, swf->firstTag,ST_FILEATTRIBUTES),flags); - } - } - // Insert REFLEX Tag #ifdef INSERT_RFX_TAG @@ -1302,6 +1293,14 @@ int swf_WriteSWF2(writer_t*writer, SWF * swf) // Writes SWF to file, return } #endif // INSERT_RFX_TAG + + if(swf->fileVersion >= 8) { + if (swf->firstTag && swf->firstTag->id != ST_FILEATTRIBUTES) + { + U32 flags = 0; // | 128 = usenetwork, | 8 = hasmetadata + swf_SetU32(swf_InsertTagBefore(swf, swf->firstTag,ST_FILEATTRIBUTES),flags); + } + } // Count Frames + File Size