Do full high-contrast update of vias & pads if netnames are shown.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15657
(cherry picked from commit c7f69503c0
)
This commit is contained in:
parent
a5f8955d78
commit
2e0cdebb0c
|
@ -1084,6 +1084,11 @@ void PCB_BASE_FRAME::SetDisplayOptions( const PCB_DISPLAY_OPTIONS& aOptions, boo
|
|||
// Vias on a restricted layer set must be redrawn when high contrast mode is changed
|
||||
if( hcChanged )
|
||||
{
|
||||
bool showNetNames = false;
|
||||
|
||||
if( PCBNEW_SETTINGS* config = dynamic_cast<PCBNEW_SETTINGS*>( Kiface().KifaceSettings() ) )
|
||||
showNetNames = config->m_Display.m_NetNames > 0;
|
||||
|
||||
// Note: KIGFX::REPAINT isn't enough for things that go from invisible to visible as
|
||||
// they won't be found in the view layer's itemset for re-painting.
|
||||
GetCanvas()->GetView()->UpdateAllItemsConditionally(
|
||||
|
@ -1093,16 +1098,20 @@ void PCB_BASE_FRAME::SetDisplayOptions( const PCB_DISPLAY_OPTIONS& aOptions, boo
|
|||
{
|
||||
if( via->GetViaType() == VIATYPE::BLIND_BURIED
|
||||
|| via->GetViaType() == VIATYPE::MICROVIA
|
||||
|| via->GetRemoveUnconnected() )
|
||||
|| via->GetRemoveUnconnected()
|
||||
|| showNetNames )
|
||||
{
|
||||
return hcVisChanged ? KIGFX::ALL : KIGFX::REPAINT;
|
||||
}
|
||||
}
|
||||
else if( PAD* pad = dynamic_cast<PAD*>( aItem ) )
|
||||
{
|
||||
if( pad->GetRemoveUnconnected() )
|
||||
if( pad->GetRemoveUnconnected()
|
||||
|| showNetNames )
|
||||
{
|
||||
return hcVisChanged ? KIGFX::ALL : KIGFX::REPAINT;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
} );
|
||||
|
|
Loading…
Reference in New Issue