X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxtools.c;h=2527675f87f44981883c57ff5f10f1fee3363d59;hp=7772273410a62bd8a1010ab22fb15d5d5de92962;hb=3d73649bf0e39778e715a07da902d0a858065a43;hpb=12d21175b5de3c615effa9acf1ffeded9a7bdbf8 diff --git a/lib/gfxtools.c b/lib/gfxtools.c index 7772273..2527675 100644 --- a/lib/gfxtools.c +++ b/lib/gfxtools.c @@ -234,7 +234,7 @@ void gfxtool_draw_dashed_line(gfxdrawer_t*d, gfxline_t*line, float*r, float phas return; } if(r[0]<0 || phase<0) { - fprintf(stderr, "gfxtool: invalid (negative) dashes: %f, phase=%f", r[0], phase); + fprintf(stderr, "gfxtool: invalid (negative) dashes: %f, phase=%f\n", r[0], phase); return; } @@ -1038,7 +1038,7 @@ gfxline_t* gfxline_restitch(gfxline_t*line) gfxline_t*prev=0; while(line) { gfxline_t*next = line->next; - if(line->type == gfx_moveTo) { + if(line->type == gfx_moveTo && (line->next && line->next->type != gfx_moveTo)) { gfxpoint_t xy = {line->x, line->y}; dict_put(ff, &xy, line); prev = line; @@ -1137,6 +1137,15 @@ gfxline_t* gfxline_reverse(gfxline_t*line) return b; } +void gfxgradient_destroy(gfxgradient_t*gradient) +{ + while(gradient) { + gfxgradient_t*next = gradient->next; + free(gradient); + gradient = next; + } +} + gfxparams_t* gfxparams_new() { return (gfxparams_t*)rfx_calloc(sizeof(gfxparams_t)); @@ -1178,5 +1187,6 @@ void gfxparams_free(gfxparams_t*params) free(p); p = next; } + free(params); }