pcbnew: Remove fills prior to updates

Removing existing fills will prevent re-drawing invalid polygons before
they are ready.  This seems to happen on Macs more easily due to redraw
timing.

Fixes: lp:1819553
* https://bugs.launchpad.net/kicad/+bug/1819553
This commit is contained in:
Seth Hillbrand 2019-03-11 17:07:00 -07:00
parent c61ec8ee3b
commit 6006703798
1 changed files with 5 additions and 8 deletions

View File

@ -96,15 +96,12 @@ bool ZONE_FILLER::Fill( std::vector<ZONE_CONTAINER*> aZones, bool aCheck )
if( zone->GetIsKeepout() ) if( zone->GetIsKeepout() )
continue; continue;
toFill.emplace_back( CN_ZONE_ISOLATED_ISLAND_LIST(zone) );
}
for( unsigned i = 0; i < toFill.size(); i++ )
{
if( m_commit ) if( m_commit )
{ m_commit->Modify( zone );
m_commit->Modify( toFill[i].m_zone );
} // Remove existing fill first to prevent drawing invalid polygons
zone->UnFill();
toFill.emplace_back( CN_ZONE_ISOLATED_ISLAND_LIST(zone) );
} }
if( m_progressReporter ) if( m_progressReporter )