Pcbnew: fix check zone fills before plotting doesn't test no net zones.
Fixes: lp:1817797 https://bugs.launchpad.net/kicad/+bug/1817797
This commit is contained in:
parent
29d7c0a1ec
commit
2768b3ddbe
|
@ -191,16 +191,16 @@ bool ZONE_FILLER::Fill( std::vector<ZONE_CONTAINER*> aZones, bool aCheck )
|
||||||
|
|
||||||
for( auto& zone : toFill )
|
for( auto& zone : toFill )
|
||||||
{
|
{
|
||||||
// Non-net zones do not have islands by definition
|
|
||||||
if( zone.m_zone->GetNetCode() <= 0 )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
std::sort( zone.m_islands.begin(), zone.m_islands.end(), std::greater<int>() );
|
std::sort( zone.m_islands.begin(), zone.m_islands.end(), std::greater<int>() );
|
||||||
SHAPE_POLY_SET poly = zone.m_zone->GetFilledPolysList();
|
SHAPE_POLY_SET poly = zone.m_zone->GetFilledPolysList();
|
||||||
|
|
||||||
for( auto idx : zone.m_islands )
|
// only zones with net code > 0 can have islands to remove by definition
|
||||||
|
if( zone.m_zone->GetNetCode() > 0 )
|
||||||
{
|
{
|
||||||
poly.DeletePolygon( idx );
|
for( auto idx : zone.m_islands )
|
||||||
|
{
|
||||||
|
poly.DeletePolygon( idx );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
zone.m_zone->SetFilledPolysList( poly );
|
zone.m_zone->SetFilledPolysList( poly );
|
||||||
|
|
Loading…
Reference in New Issue