Browse Source

Don't depend on a keepout zone having no priority.

Fixes https://gitlab.com/kicad/code/kicad/issues/7776
6.0.7
Jeff Young 4 years ago
parent
commit
341b0a5652
  1. 28
      pcbnew/zone_filler.cpp

28
pcbnew/zone_filler.cpp

@ -935,14 +935,18 @@ void ZONE_FILLER::buildCopperItemClearances( const ZONE* aZone, PCB_LAYER_ID aLa
if( checkForCancel( m_progressReporter ) )
return;
if( otherZone->GetNetCode() != aZone->GetNetCode()
&& otherZone->GetPriority() > aZone->GetPriority() )
if( otherZone->GetIsRuleArea() )
{
knockoutZoneClearance( otherZone );
if( otherZone->GetDoNotAllowCopperPour() )
knockoutZoneClearance( otherZone );
}
else if( otherZone->GetIsRuleArea() && otherZone->GetDoNotAllowCopperPour() )
else
{
knockoutZoneClearance( otherZone );
if( otherZone->GetNetCode() != aZone->GetNetCode()
&& otherZone->GetPriority() > aZone->GetPriority() )
{
knockoutZoneClearance( otherZone );
}
}
}
@ -953,14 +957,18 @@ void ZONE_FILLER::buildCopperItemClearances( const ZONE* aZone, PCB_LAYER_ID aLa
if( checkForCancel( m_progressReporter ) )
return;
if( otherZone->GetNetCode() != aZone->GetNetCode()
&& otherZone->GetPriority() > aZone->GetPriority() )
if( otherZone->GetIsRuleArea() )
{
knockoutZoneClearance( otherZone );
if( otherZone->GetDoNotAllowCopperPour() )
knockoutZoneClearance( otherZone );
}
else if( otherZone->GetIsRuleArea() && otherZone->GetDoNotAllowCopperPour() )
else
{
knockoutZoneClearance( otherZone );
if( otherZone->GetNetCode() != aZone->GetNetCode()
&& otherZone->GetPriority() > aZone->GetPriority() )
{
knockoutZoneClearance( otherZone );
}
}
}
}

Loading…
Cancel
Save