X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswfshape.c;h=9bf93ac82de429aa113d66af535cdd6e46db8004;hb=9f3fd388f9d1f2818973e700809f0ef1b897444a;hp=187047b7ebf74f1f429893641257e0233d1ad3bd;hpb=4ac2bb486e0cf7784f7334e955d0a17bc1df41c2;p=swftools.git diff --git a/lib/modules/swfshape.c b/lib/modules/swfshape.c index 187047b..9bf93ac 100644 --- a/lib/modules/swfshape.c +++ b/lib/modules/swfshape.c @@ -418,8 +418,8 @@ int swf_ShapeSetLine(TAG * t,SHAPE * s,S32 x,S32 y) b = swf_CountBits(y,b); if (b<2) b=2; if(b >= 18) { - if(b >= 18 + 4) { - /* do not split into more than 16 segments. If the line is *that* long, something's broken */ + if(b >= 18 + 6) { + /* do not split into more than 64 segments. If the line is *that* long, something's broken */ fprintf(stderr, "Warning: Line to %.2f,%.2f is too long\n", (double)x,(double)y); return -1; } else { @@ -543,7 +543,7 @@ static void parseFillStyleArray(TAG*tag, SHAPE2*shape) else swf_GetRGB(tag, &dest->color); } - else if(type == 0x10 || type == 0x12) + else if(type == 0x10 || type == 0x11 || type == 0x12 || type == 0x13) { /* linear/radial gradient fill */ swf_ResetReadBits(tag); @@ -551,7 +551,7 @@ static void parseFillStyleArray(TAG*tag, SHAPE2*shape) swf_ResetReadBits(tag); swf_GetGradient(tag, &dest->gradient, num>=3?1:0); } - else if(type == 0x40 || type == 0x41) + else if(type == 0x40 || type == 0x41 || type == 0x42 || type == 0x43) { /* bitmap fill */ swf_ResetReadBits(tag);