diff --git a/pcbnew/zones_test_and_combine_areas.cpp b/pcbnew/zones_test_and_combine_areas.cpp index feacd9ee50..4c7673d84e 100644 --- a/pcbnew/zones_test_and_combine_areas.cpp +++ b/pcbnew/zones_test_and_combine_areas.cpp @@ -196,6 +196,36 @@ bool BOARD::TestAreaIntersections( ZONE_CONTAINER* area_to_test ) if( area_to_test->GetDoNotAllowVias() != area2->GetDoNotAllowVias() ) continue; } + // Filled zone specific tests + else + { + if( area_to_test->GetClearance() != area2->GetClearance() ) + continue; + + if( area_to_test->GetThermalReliefGap() != area2->GetThermalReliefGap() ) + continue; + + if( area_to_test->GetThermalReliefCopperBridge() != area2->GetThermalReliefCopperBridge() ) + continue; + + if( area_to_test->GetArcSegmentCount() != area2->GetArcSegmentCount() ) + continue; + + if( area_to_test->GetZoneClearance() != area2->GetZoneClearance() ) + continue; + + if( area_to_test->GetPadConnection() != area2->GetPadConnection() ) + continue; + + if( area_to_test->GetMinThickness() != area2->GetMinThickness() ) + continue; + + if( area_to_test->GetCornerSmoothingType() != area2->GetCornerSmoothingType() ) + continue; + + if( area_to_test->GetCornerRadius() != area2->GetCornerRadius() ) + continue; + } if( TestAreaIntersection( area_to_test, area2 ) ) return true;