diff --git a/pcbnew/pcb_painter.cpp b/pcbnew/pcb_painter.cpp index 84fd8ed459..00aca91053 100644 --- a/pcbnew/pcb_painter.cpp +++ b/pcbnew/pcb_painter.cpp @@ -756,11 +756,15 @@ void PCB_PAINTER::draw( const ZONE_CONTAINER* aZone ) for( int i = 0; i < outline->GetCornersCount(); ++i ) { corners.push_back( VECTOR2D( outline->GetPos( i ) ) ); + + if( outline->IsEndContour( i ) ) + { + // The last point for closing the polyline + corners.push_back( corners[0] ); + m_gal->DrawPolyline( corners ); + corners.clear(); + } } - // The last point for closing the polyline - corners.push_back( VECTOR2D( outline->GetPos( 0 ) ) ); - m_gal->DrawPolyline( corners ); - corners.clear(); // Draw the filling if( displayMode != PCB_RENDER_SETTINGS::DZ_HIDE_FILLED )