[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