pcbnew: Don't merge zones with different params
Zones can be explicitly merged even if they do not have the same parameters. Automatic merging should only occur when all of the zone parameters are exactly identical to allow for area-specific zone parameters. Fixes: lp:1695761 * https://bugs.launchpad.net/kicad/+bug/1695761
This commit is contained in:
parent
a67bfa6207
commit
3d0915a33e
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue