diff --git a/eeschema/dialogs/dialog_change_symbols.cpp b/eeschema/dialogs/dialog_change_symbols.cpp index a619a16050..d212b20751 100644 --- a/eeschema/dialogs/dialog_change_symbols.cpp +++ b/eeschema/dialogs/dialog_change_symbols.cpp @@ -511,11 +511,9 @@ int DIALOG_CHANGE_SYMBOLS::processSymbols( const std::map instances; int matchesProcessed = 0; SCH_EDIT_FRAME* frame = dynamic_cast( GetParent() ); SCH_SCREEN* screen = nullptr; - SCH_SYMBOL* symbol = nullptr; LIB_SYMBOL* libSymbol = nullptr; std::map> symbols = aSymbols; @@ -529,7 +527,7 @@ int DIALOG_CHANGE_SYMBOLS::processSymbols( const std::mapfirst; + SCH_SYMBOL* symbol = it->first; wxCHECK2( symbol, continue ); @@ -561,11 +559,8 @@ int DIALOG_CHANGE_SYMBOLS::processSymbols( const std::mapSaveCopyInUndoList( screen, symbol, UNDO_REDO::CHANGED, true ); } - for( auto& pair : symbols ) + for( const auto& [ symbol, instances ] : symbols ) { - symbol = pair.first; - if( aNewId != symbol->GetLibId() ) symbol->SetLibId( aNewId ); @@ -623,7 +616,7 @@ int DIALOG_CHANGE_SYMBOLS::processSymbols( const std::mapSetRef( &instance, UTIL::GetRefDesUnannotated( libField->GetText() ) ); @@ -698,7 +691,6 @@ int DIALOG_CHANGE_SYMBOLS::processSymbols( const std::mapSetSchSymbolLibraryName( wxEmptyString ); - instances = pair.second; screen = instances[0].LastScreen(); screen->Append( symbol ); frame->GetCanvas()->GetView()->Update( symbol );