From: SourceForge.net <no...@so...> - 2010-11-09 01:19:45
|
Bugs item #3103250, was opened at 2010-11-05 10:05 Message generated for change (Comment added) made by eschabor You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=538811&aid=3103250&group_id=73743 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: main Group: future bug release Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stephen Ecob (eschabor) Assigned to: Nobody/Anonymous (nobody) Summary: PCB20100929 corrupts element Initial Comment: The attached element (250mOhm 4 terminal resistor) became corrupted following autorouting and trace optimisation with PCB20100929. Loading the .pcb file in a text editor shows that the element ResCu250mOhm is present and has the correct number of pads, but some of the pads have had their coordinates randomised. ---------------------------------------------------------------------- >Comment By: Stephen Ecob (eschabor) Date: 2010-11-09 12:19 Message: The bug is in djopt.c in function padcleaner() padcleaner() is intended to remove unnecessary traces that are fully enclosed inside element pads. Unfortunately the problem element confuses padcleaner() with the result that padcleaner() considers a pad itself to be an unnecessary trace and nukes it. The following patch solves the problem: diff --git a/src/djopt.c b/src/djopt.c index 240b86b..7a1a315 100644 --- a/src/djopt.c +++ b/src/djopt.c @@ -2851,6 +2851,9 @@ padcleaner () if (layer_type[l->layer] != layerflag) continue; + if (p == l->line) + continue; + empty_rect (&r); close = p->Thickness / 2 + 1; add_point_to_rect (&r, p->Point1.X, p->Point1.Y, ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=538811&aid=3103250&group_id=73743 |