Map zone layers before checking their visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
(cherry picked from commit 09d0f6e17c
)
This commit is contained in:
parent
66e12af548
commit
2425444947
|
@ -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();
|
||||
|
||||
|
|
|
@ -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 )
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue