diff --git a/common/draw_panel_gal.cpp b/common/draw_panel_gal.cpp index d2ba6531f3..9b85dff9b0 100644 --- a/common/draw_panel_gal.cpp +++ b/common/draw_panel_gal.cpp @@ -252,9 +252,11 @@ void EDA_DRAW_PANEL_GAL::DoRePaint() if( m_view->IsDirty() ) { - if( m_backend != GAL_TYPE_OPENGL && // Already called in opengl - m_view->IsTargetDirty( KIGFX::TARGET_NONCACHED ) ) + if( m_backend != GAL_TYPE_OPENGL // Already called in opengl + && m_view->IsTargetDirty( KIGFX::TARGET_NONCACHED ) ) + { m_gal->ClearScreen(); + } m_view->ClearTargets(); diff --git a/common/view/view_group.cpp b/common/view/view_group.cpp index 1c6a2ec8e9..7bf64f99fa 100644 --- a/common/view/view_group.cpp +++ b/common/view/view_group.cpp @@ -147,6 +147,10 @@ void VIEW_GROUP::ViewDraw( int aLayer, VIEW* aView ) const for( int i = 0; i < layers_count; i++ ) { int layer = layers[i]; + + if( IsZoneLayer( layer ) ) + layer = layer - LAYER_ZONE_START; + bool draw = aView->IsLayerVisible( layer ); if( isSelection ) diff --git a/pcbnew/pcb_painter.cpp b/pcbnew/pcb_painter.cpp index 05ab711392..b78ce082e5 100644 --- a/pcbnew/pcb_painter.cpp +++ b/pcbnew/pcb_painter.cpp @@ -1742,10 +1742,10 @@ void PCB_PAINTER::draw( const ZONE* aZone, int aLayer ) // Draw each contour (main contour and holes) - /* This line: + /* * m_gal->DrawPolygon( *outline ); - * should be enough, but currently does not work to draw holes contours in a complex polygon - * so each contour is draw as a simple polygon + * should be enough, but currently does not work to draw holes contours in a complex + * polygon so each contour is draw as a simple polygon */ // Draw the main contour