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

Fixes https://gitlab.com/kicad/code/kicad/issues/7776
This commit is contained in:
Jeff Young 2021-10-26 17:19:45 +01:00
parent c13ff9cec9
commit 341b0a5652
1 changed files with 18 additions and 10 deletions

View File

@ -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 );
}
}
}
}