Mail Archives: geda-user/2017/01/18/05:49:26
Hello Peter,
On Wed, 18 Jan 2017, Peter Clifton (petercjclifton AT googlemail DOT com) [via geda-user AT delorie DOT com] wrote:
>Hi Igor,
>Sorry for top posting (on my phone).
(no worries, I don't mind)
>The NoHoles (cached clipped polygon for rendering) could theoretically be
>null, with the valid flag set.
>
>"Clipped" could (should?) also be null, and if they are not NULL together,
>that probably suggests a bug in the no holes dicing routine, or (perhaps
>more likely) that the polygon data is invalid somehow.
>
>Null clipped polygons might occur if say, the polygon is small, and gets
>totally clipped away by other objects. Doesn't seem to apply in this case.
>
>I'm not sure from memory if we even call into the renderer if clipped ==
>NULL.
>
>I'll take a poke what happens on my experimental GL branches, as they don't
>use the NoHoles cache for rendering. Might give an extra data point.
>
>Will let you know if I find anything.
>
I also did some more code reading right after the previous mail a few
hours ago and found that this might be the potential error:
clearPoly(), first if, returns 0 if on silk, but does not clear
NoHolesValid (it does on the bottom, for a different case).
Caller is InitClip(), doesn't check the return value, so it doesn't clear
NoHolesValid for that branch either.
So for the keep-silk-no-clearance case, I think we may need to change one
of these. Didn't have the chance to try it yet.
Regards,
Igor2
- Raw text -