From 1cae0b6c08d7df65471276226b530df8f1726620 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Tue, 24 Nov 2020 23:48:31 +0000 Subject: [PATCH] Make sure board edges have 0 width. When we divide up a rectangle or polygon (for better RTree usage) we need to make sure the individual segments also have their widths zeroed out. Fixes https://gitlab.com/kicad/code/kicad/issues/6482 --- pcbnew/drc/drc_test_provider_edge_clearance.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pcbnew/drc/drc_test_provider_edge_clearance.cpp b/pcbnew/drc/drc_test_provider_edge_clearance.cpp index 86531404f1..a73ab29404 100644 --- a/pcbnew/drc/drc_test_provider_edge_clearance.cpp +++ b/pcbnew/drc/drc_test_provider_edge_clearance.cpp @@ -148,15 +148,19 @@ bool DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run() edges.emplace_back( static_cast( shape->Clone() ) ); edges.back()->SetShape( S_SEGMENT ); edges.back()->SetEndX( shape->GetStartX() ); + edges.back()->SetWidth( 0 ); edges.emplace_back( static_cast( shape->Clone() ) ); edges.back()->SetShape( S_SEGMENT ); edges.back()->SetEndY( shape->GetStartY() ); + edges.back()->SetWidth( 0 ); edges.emplace_back( static_cast( shape->Clone() ) ); edges.back()->SetShape( S_SEGMENT ); edges.back()->SetStartX( shape->GetEndX() ); + edges.back()->SetWidth( 0 ); edges.emplace_back( static_cast( shape->Clone() ) ); edges.back()->SetShape( S_SEGMENT ); edges.back()->SetStartY( shape->GetEndY() ); + edges.back()->SetWidth( 0 ); return true; } else if( shape->GetShape() == S_POLYGON ) @@ -171,6 +175,7 @@ bool DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run() edges.back()->SetShape( S_SEGMENT ); edges.back()->SetStart((wxPoint) seg.A ); edges.back()->SetEnd((wxPoint) seg.B ); + edges.back()->SetWidth( 0 ); } }