[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Bug in cvs pcb concerning polygons



On Wed, Jul 25, 2007 at 09:33:26PM -0700, Ben Jackson wrote:
> > And... out of curiosity, do you think the bug you found could be
> > responsible for all (most?) of the polygon related crashes observed?
> 
> Quite possibly.  I looked at the CVS and the bug has been there since
> the polygon code got merged.
> 
> I'm sure this also represents an underlying bug in the poly_Boolean code,

I've confirmed that by poking around in rtree and polygon1.c.  At the
very least, r_search is not always returning things that intersect()
expects to find.  This goes back to the same problem I encountered with
ratline points not intersecting boxes in rtree because it treats two
boxes with a common edge as not found.

The reason the problem is so slippery is that very similar groups of
boxes can have very different rtrees depending on insertion order, and
so a test in intersect() which is just an optimization might err on the
side of a more thorough check sometimes while with other tree
constructions it might think it can skip necessary work.

I'm afraid the patch I posted (while good) simply avoids exposing the
bug in that particular file.

I'll see if I can find a more general solution.

-- 
Ben Jackson AD7GD
<ben@xxxxxxx>
http://www.ben.com/


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user