X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswfshape.c;h=850beadbd0038c8856308b526b9e957b0b863694;hb=d6162e08c1dbc4066ece3612982de8f32f788531;hp=9753dfc97efc530f825b4f58aea78d23181447e7;hpb=11dcb2a596c5121205e8a7729d986edc9e919041;p=swftools.git diff --git a/lib/modules/swfshape.c b/lib/modules/swfshape.c index 9753dfc..850bead 100644 --- a/lib/modules/swfshape.c +++ b/lib/modules/swfshape.c @@ -293,7 +293,7 @@ int swf_ShapeAddFillStyle(SHAPE * s,U8 type,MATRIX * m,RGBA * color,U16 id_bitma if (!s->fillstyle.data) return -1; } - // set fillstyle (no gradients yet!) + // set fillstyle s->fillstyle.data[s->fillstyle.n].type = type; s->fillstyle.data[s->fillstyle.n].id_bitmap = id_bitmap; @@ -421,7 +421,7 @@ int swf_ShapeSetLine(TAG * t,SHAPE * s,S32 x,S32 y) b = swf_CountBits(y,b); if (b<2) b=2; if(b-2 >= 16) { - fprintf(stderr, "Bit overflow in swf_ShapeSetLine(1)- %d\n", b); + fprintf(stderr, "Bit overflow in swf_ShapeSetLine(1)- %d (%d,%d)\n", b, x,y); fflush(stdout); b = 17; } @@ -437,7 +437,7 @@ int swf_ShapeSetLine(TAG * t,SHAPE * s,S32 x,S32 y) if(b<2) b=2; if(b-2 >= 16) { - fprintf(stderr, "Bit overflow in swf_ShapeSetLine(2)- %d\n", b); + fprintf(stderr, "Bit overflow in swf_ShapeSetLine(2)- %d (%d)\n", b, y); b = 17; } swf_SetBits(t, b-2, 4); @@ -449,7 +449,7 @@ int swf_ShapeSetLine(TAG * t,SHAPE * s,S32 x,S32 y) if(b<2) b=2; if(b-2 >= 16) { - fprintf(stderr, "Bit overflow in swf_ShapeSetLine(3)- %d\n", b); + fprintf(stderr, "Bit overflow in swf_ShapeSetLine(3)- %d (%d)\n", b, x); b = 17; } swf_SetBits(t, b-2, 4); @@ -470,6 +470,11 @@ int swf_ShapeSetCurve(TAG * t,SHAPE * s,S32 x,S32 y,S32 ax,S32 ay) b = swf_CountBits(x,b); b = swf_CountBits(y,b); + if(b-2 >= 16) { + fprintf(stderr, "Bit overflow in swf_ShapeSetCurve- %d (%d,%d,%d,%d)\n", b, ax,ay,x,y); + b = 17; + } + swf_SetBits(t,b-2,4); swf_SetBits(t,x,b); swf_SetBits(t,y,b);