ArtSVP*svpunion;
} internal_t;
-static int verbose = 1;
+static int verbose = 0;
static void dbg(char*format, ...)
{
if(!verbose)
internal_t*i = (internal_t*)dev->internal;
ArtSVP* svp = gfxfillToSVP(line, 1);
+ if (svp->n_segs > 500)
+ {
+ int lineParts = 0;
+ gfxline_t* lineCursor = line;
+ while(lineCursor != NULL)
+ {
+ if(lineCursor->type != gfx_moveTo) ++lineParts;
+ lineCursor = lineCursor->next;
+ }
+ fprintf(stderr, "arts_fill abandonning shape with %d segments (%d line parts)\n", svp->n_segs, lineParts);
+ art_svp_free(svp);
+ return;
+ }
+
svp = art_svp_rewind_uncrossed(art_svp_uncross(svp),ART_WIND_RULE_ODDEVEN); /*FIXME*/
if(i->clip) {
dbg("arts_fillbitmap");
internal_t*i = (internal_t*)dev->internal;
ArtSVP* svp = gfxfillToSVP(line, 1);
+
if(i->clip) {
ArtSVP*old = svp;
svp = art_svp_intersect(svp, i->clip->svp);