From ab9cf326e817bd0f039d50a725d248a4d570311f Mon Sep 17 00:00:00 2001 From: Seth Hillbrand Date: Tue, 2 Sep 2025 19:24:21 -0700 Subject: [PATCH] Consider visibility when colliding in DRC Most places we check this but we should also check it in physical clearance Fixes https://gitlab.com/kicad/code/kicad/-/issues/21625 (cherry picked from commit d9741fd46af375e64950b965ce404d2ad731df01) --- pcbnew/drc/drc_test_provider_physical_clearance.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pcbnew/drc/drc_test_provider_physical_clearance.cpp b/pcbnew/drc/drc_test_provider_physical_clearance.cpp index ac048a1e06..83c77a10e0 100644 --- a/pcbnew/drc/drc_test_provider_physical_clearance.cpp +++ b/pcbnew/drc/drc_test_provider_physical_clearance.cpp @@ -129,6 +129,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run() forEachGeometryItem( itemTypes, LSET::AllLayersMask(), [&]( BOARD_ITEM* item ) -> bool { + if( isInvisibleText( item ) ) + return true; + ++count; return true; } ); @@ -140,6 +143,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run() forEachGeometryItem( itemTypes, LSET::AllLayersMask(), [&]( BOARD_ITEM* item ) -> bool { + if( isInvisibleText( item ) ) + return true; + if( !reportProgress( ii++, count, progressDelta ) ) return false; @@ -189,6 +195,9 @@ bool DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run() forEachGeometryItem( itemTypes, LSET::AllLayersMask(), [&]( BOARD_ITEM* item ) -> bool { + if( isInvisibleText( item ) ) + return true; + if( !reportProgress( ii++, count, progressDelta ) ) return false;