Handler blind/buried/micro via drawing when all layers are hidden.

Fixes https://gitlab.com/kicad/code/kicad/issues/13607
This commit is contained in:
Jeff Young 2023-01-20 19:08:39 +00:00
parent 3e55719831
commit 12215647f1
1 changed files with 10 additions and 0 deletions

View File

@ -411,6 +411,16 @@ COLOR4D PCB_RENDER_SETTINGS::GetColor( const VIEW_ITEM* aItem, int aLayer ) cons
}
}
}
else if( originalLayer == LAYER_VIA_BBLIND || originalLayer == LAYER_VIA_MICROVIA )
{
const PCB_VIA* via = static_cast<const PCB_VIA*>( item );
const BOARD* board = via->GetBoard();
LSET visibleLayers = board->GetVisibleLayers() & board->GetEnabledLayers();
// Target graphic is visible if the via crosses a visible layer
if( ( via->GetLayerSet() & visibleLayers ).none() )
color = COLOR4D::CLEAR;
}
// Apply per-type opacity overrides
if( item->Type() == PCB_TRACE_T || item->Type() == PCB_ARC_T )