diff --git a/pcbnew/drc/drc_test_provider_silk_to_pad.cpp b/pcbnew/drc/drc_test_provider_silk_to_pad.cpp index 2ca2836812..4b214709dd 100644 --- a/pcbnew/drc/drc_test_provider_silk_to_pad.cpp +++ b/pcbnew/drc/drc_test_provider_silk_to_pad.cpp @@ -124,6 +124,9 @@ bool test::DRC_TEST_PROVIDER_SILK_TO_PAD::Run() DRC_RTREE::ITEM_WITH_SHAPE* aRefItem, DRC_RTREE::ITEM_WITH_SHAPE* aTestItem ) -> bool { + if( m_drcEngine->IsErrorLimitExceeded( DRCE_SILK_OVER_PAD ) ) + return false; + auto constraint = m_drcEngine->EvalRulesForItems( DRC_CONSTRAINT_TYPE_SILK_TO_PAD, aRefItem->parent, aTestItem->parent ); @@ -145,8 +148,7 @@ bool test::DRC_TEST_PROVIDER_SILK_TO_PAD::Run() reportViolation( drcItem, (wxPoint) pos ); - - return !m_drcEngine->IsErrorLimitExceeded( DRCE_SILK_OVER_PAD ); + return true; }; int numPads = forEachGeometryItem( { PCB_PAD_T }, LSET::AllTechMask() | LSET::AllCuMask(), diff --git a/pcbnew/drc/drc_test_provider_silk_to_silk.cpp b/pcbnew/drc/drc_test_provider_silk_to_silk.cpp index 8b86038176..8455bd429a 100644 --- a/pcbnew/drc/drc_test_provider_silk_to_silk.cpp +++ b/pcbnew/drc/drc_test_provider_silk_to_silk.cpp @@ -111,6 +111,9 @@ bool DRC_TEST_PROVIDER_SILK_TO_SILK::Run() DRC_RTREE::ITEM_WITH_SHAPE* aRefItem, DRC_RTREE::ITEM_WITH_SHAPE* aTestItem ) -> bool { + if( m_drcEngine->IsErrorLimitExceeded( DRCE_SILK_CLEARANCE ) ) + return false; + auto constraint = m_drcEngine->EvalRulesForItems( DRC_CONSTRAINT_TYPE_SILK_TO_SILK, aRefItem->parent, aTestItem->parent ); @@ -171,7 +174,7 @@ bool DRC_TEST_PROVIDER_SILK_TO_SILK::Run() reportViolation( drcItem, (wxPoint) pos ); - return !m_drcEngine->IsErrorLimitExceeded( DRCE_SILK_CLEARANCE ); + return true; }; int numSilk = forEachGeometryItem( { PCB_LINE_T, PCB_MODULE_EDGE_T, PCB_TEXT_T, PCB_MODULE_TEXT_T },