Eeschema: fix draw issue for global labels in Cairo mode.

Fixes #9933
https://gitlab.com/kicad/code/kicad/issues/9933
This commit is contained in:
jean-pierre charras 2021-12-10 20:47:17 +01:00
parent 0ad0627bb0
commit 65cbf2d2b7
1 changed files with 2 additions and 1 deletions

View File

@ -1642,7 +1642,8 @@ void SCH_PAINTER::draw( SCH_GLOBALLABEL *aLabel, int aLayer )
// On Cairo the graphic shape is filled by the background before drawing the text. // On Cairo the graphic shape is filled by the background before drawing the text.
// However if the text is selected, it is draw twice: first on LAYER_SELECTION_SHADOWS // However if the text is selected, it is draw twice: first on LAYER_SELECTION_SHADOWS
// and second on the text layer. The second must not erase the first drawing. // and second on the text layer. The second must not erase the first drawing.
bool fillBg = ( aLayer == LAYER_SELECTION_SHADOWS ) || !aLabel->IsSelected(); bool fillBg = ( ( aLayer == LAYER_SELECTION_SHADOWS ) || !aLabel->IsSelected() )
&& aLayer != LAYER_DANGLING;
m_gal->SetIsFill( fillBg ); m_gal->SetIsFill( fillBg );
m_gal->SetFillColor( m_schSettings.GetLayerColor( LAYER_SCHEMATIC_BACKGROUND ) ); m_gal->SetFillColor( m_schSettings.GetLayerColor( LAYER_SCHEMATIC_BACKGROUND ) );
m_gal->SetIsStroke( true ); m_gal->SetIsStroke( true );