diff --git a/pcbnew/zone_filler.cpp b/pcbnew/zone_filler.cpp index 335375cc65..3f7632ec2d 100644 --- a/pcbnew/zone_filler.cpp +++ b/pcbnew/zone_filler.cpp @@ -210,7 +210,10 @@ bool ZONE_FILLER::Fill( std::vector& aZones, bool aCheck, wxWindow* aPare BOX2I inflatedBBox = aZone->GetCachedBoundingBox(); inflatedBBox.Inflate( m_worstClearance ); - return inflatedBBox.Intersects( aOtherZone->GetCachedBoundingBox() ); + if( !inflatedBBox.Intersects( aOtherZone->GetCachedBoundingBox() ) ) + return false; + + return aZone->Outline()->Collide( aOtherZone->Outline(), m_worstClearance ); }; auto fill_lambda =