Fix schematic update library symbols issues.

Rather than update library symbols one at a time, queue them up by
schematic symbol to prevent multiple updates to the same symbol in
complex hierarchies.  This also removes all of the library symbols
first which will clear out all of the library symbol variants that
were created by modifying library symbols in place and/or changes to
the symbol in the library.

Don't add new variant library symbol if an equivalent variant already
exists in the schematic local cache.  This prevents duplicate library
symbols from being added to the local cache when the first variant in
the cache does not match that of the symbol being added.
This commit is contained in:
Wayne Stambaugh
2023-02-02 15:54:24 -05:00
parent e60152e351
commit c88c4e1200
5 changed files with 343 additions and 195 deletions
+1 -1
View File
@@ -339,7 +339,7 @@ void SCH_SHEET_PATH::UpdateAllScreenReferences() const
symbol->GetField( REFERENCE_FIELD )->SetText( symbol->GetRef( this ) );
symbol->UpdateUnit( symbol->GetUnitSelection( this ) );
LastScreen()->Update( item );
LastScreen()->Update( item, false );
}
else if( item->Type() == SCH_GLOBAL_LABEL_T )
{