Check for proxy references and values in Selectable().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14911

(cherry picked from commit 111d0a2c14)
This commit is contained in:
Jeff Young 2023-06-10 17:47:20 +01:00
parent 7027d02f94
commit 472879e95a
1 changed files with 17 additions and 3 deletions

View File

@ -2533,9 +2533,23 @@ bool PCB_SELECTION_TOOL::Selectable( const BOARD_ITEM* aItem, bool checkVisibili
switch( static_cast<const FP_TEXT*>( aItem )->GetType() )
{
case FP_TEXT::TEXT_is_REFERENCE: controlLayer = LAYER_MOD_REFERENCES; break;
case FP_TEXT::TEXT_is_VALUE: controlLayer = LAYER_MOD_VALUES; break;
case FP_TEXT::TEXT_is_DIVERS: controlLayer = LAYER_MOD_TEXT; break;
case FP_TEXT::TEXT_is_REFERENCE:
controlLayer = LAYER_MOD_REFERENCES;
break;
case FP_TEXT::TEXT_is_VALUE:
controlLayer = LAYER_MOD_VALUES;
break;
case FP_TEXT::TEXT_is_DIVERS:
if( text->GetText() == wxT( "${REFERENCE}" ) )
controlLayer = LAYER_MOD_REFERENCES;
else if( text->GetText() == wxT( "${VALUE}" ) )
controlLayer = LAYER_MOD_VALUES;
else
controlLayer = LAYER_MOD_TEXT;
break;
}
if( controlLayer == UNDEFINED_LAYER )