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

(cherry picked from commit 6006703798)
This commit is contained in:
Seth Hillbrand 2019-03-11 17:07:00 -07:00
parent 5685ec525b
commit 37f250b384
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() )
continue;
toFill.emplace_back( CN_ZONE_ISOLATED_ISLAND_LIST(zone) );
}
for( unsigned i = 0; i < toFill.size(); i++ )
{
if( m_commit )
{
m_commit->Modify( toFill[i].m_zone );
}
m_commit->Modify( zone );
// Remove existing fill first to prevent drawing invalid polygons
zone->UnFill();
toFill.emplace_back( CN_ZONE_ISOLATED_ISLAND_LIST(zone) );
}
if( m_progressReporter )