Here is one way to break it that works 100% of the time: 1. Highlight only one layer and the top side components. The layer must have a plane or large polygon area for the bug to be easily visible. 2. Move that layer and the components. 3. Hit Undo or "U", notice polygon has holes where they used to be, in the wrong positions. 4. Save-Revert refreshes the PCB and works fine. I have no idea about git, sorry. All I know is: This is PCB, an interactive printed circuit board editor version 1.99z Compiled on May 2 2011 at 15:36:55 The release I used was the most recent available on the 2nd May at about 15:36 GMT. However I noticed this bug in older versions of PCB. It has been around for a while, it just didn't really bother me until recent when I started working on a very complex PCB design with many polygons.
On 10 May 2011 20:58, Peter C.J. Clifton <[1]pc...@cam.ac.uk> wrote: On May 10 2011, DJ Delorie wrote: Make sure you have my patch to src/insert.c that calls ClearFromPolygon() and RestoreToPolygon(). Failing that, Peter says calling InitClip() for every polygon will recompute them, but at the moment, there's no way to do that from the GUI. In theory, you should never have to. If you can come up with a small self-contained test case, file a bug so we can fix it. In addition to the patch DJ mentioned, the one I think you're more likely to be hitting (depending on what version of PCB you have), is the one fixed by this: commit 79417191949173c16579554dc8f8d5b9cbb22b3a Author: Peter Clifton <[2]pc...@cam.ac.uk> Date: Fri Apr 22 18:38:20 2011 +0100 Fix geometry errors caused by commit 2d8dc8a3a3a55158b4e6278dd9f40588e4111c2d This fixes up problems from the following commit: [PATCH] fix bug 2793480 (vias/arcs-to-polygon clearances) frac_circle(): introduce radius_adjustment factor to make the polygon outline the arc rather than connet points on the arc ArcPolyNoIntersect(): compute number of segments so that polygon diverges from the arc no more than 0.02 of required thickness; adjust outer "arc" radius like in frac_circle() The object bounding boxes for arcs, vias, lines and rounded pads which determine the maximum area affected by that object were no longer correct, leading to artaefacts when doing incremental polygon processing. It also lead to missing fragments in (the non-curved + and x type thermals). These are also fixed up by this patch. Could you elaborate as to what PCB version (git SHA1 if you built from git), and what symptoms you're seeing (perhaps with a screen-shot of the problem). It is far more important to us that polygons "Just work", rather than adding kludges in to let the user force recalculating them. This said, I know where are some very rare cases with degenerate or complex curved geometry where PCB's polygon routines do get very confused, and will need to be forced to recalculate. (If necessary, I use the file save, file revert method as Kai-Martin suggested). Best regards, Peter Clifton _______________________________________________ geda-user mailing list [3]geda-user@moria.seul.org [4]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user References 1. mailto:pc...@cam.ac.uk 2. mailto:pc...@cam.ac.uk 3. mailto:geda-user@moria.seul.org 4. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
_______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user