Update fields when variant changes.

This commit is contained in:
Jeff Young
2026-02-20 18:53:32 +00:00
parent 919f2a5d00
commit 855c996475
+20 -6
View File
@@ -540,13 +540,27 @@ void PCB_EDIT_FRAME::onVariantSelected( wxCommandEvent& aEvent )
GetCanvas()->GetView()->UpdateAllItemsConditionally(
[&]( KIGFX::VIEW_ITEM* aItem ) -> int
{
EDA_TEXT* text = dynamic_cast<EDA_TEXT*>( aItem );
if( text && text->HasTextVars() )
if( EDA_TEXT* text = dynamic_cast<EDA_TEXT*>( aItem ) )
{
text->ClearRenderCache();
text->ClearBoundingBoxCache();
return KIGFX::GEOMETRY | KIGFX::REPAINT;
if( text->HasTextVars() )
{
text->ClearRenderCache();
text->ClearBoundingBoxCache();
return KIGFX::GEOMETRY | KIGFX::REPAINT;
}
}
if( PCB_FIELD* field = dynamic_cast<PCB_FIELD*>( aItem ) )
{
if( FOOTPRINT* fp = field->GetParentFootprint() )
{
if( !fp->GetVariants().empty() )
{
field->ClearRenderCache();
field->ClearBoundingBoxCache();
return KIGFX::GEOMETRY | KIGFX::REPAINT;
}
}
}
return 0;