Browse Source

Remove version guard from sim migration, and add migration to paste.

Fixes https://gitlab.com/kicad/code/kicad/issues/13080
7.0
Jeff Young 3 years ago
parent
commit
6535f407a6
  1. 7
      eeschema/eeschema.cpp
  2. 7
      eeschema/eeschema_helpers.cpp
  3. 7
      eeschema/files-io.cpp
  4. 5
      eeschema/sheet.cpp
  5. 2
      eeschema/tools/sch_editor_control.cpp

7
eeschema/eeschema.cpp

@ -96,11 +96,8 @@ static std::unique_ptr<SCHEMATIC> readSchematicFromFile( const std::string& aFil
// Restore all of the loaded symbol instances from the root sheet screen.
sheets.UpdateSymbolInstanceData( schematic->RootScreen()->GetSymbolInstances() );
if( schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20221206 )
{
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
screen->MigrateSimModels();
}
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
screen->MigrateSimModels();
sheets.AnnotatePowerSymbols();

7
eeschema/eeschema_helpers.cpp

@ -146,11 +146,8 @@ SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( wxString& aFileName, SCH_IO_MGR::SCH
sheetList.UpdateSheetInstanceData( schematic->RootScreen()->GetSheetInstances());
if( schematic->RootScreen()->GetFileFormatVersionAtLoad() < 20221206 )
{
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
screen->MigrateSimModels();
}
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
screen->MigrateSimModels();
sheetList.AnnotatePowerSymbols();

7
eeschema/files-io.cpp

@ -456,11 +456,8 @@ bool SCH_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
if( Schematic().RootScreen()->GetFileFormatVersionAtLoad() < 20221110 )
sheetList.UpdateSheetInstanceData( Schematic().RootScreen()->GetSheetInstances());
if( Schematic().RootScreen()->GetFileFormatVersionAtLoad() < 20221206 )
{
for( SCH_SCREEN* screen = schematic.GetFirst(); screen; screen = schematic.GetNext() )
screen->MigrateSimModels();
}
for( SCH_SCREEN* screen = schematic.GetFirst(); screen; screen = schematic.GetNext() )
screen->MigrateSimModels();
}
Schematic().ConnectionGraph()->Reset();

5
eeschema/sheet.cpp

@ -166,9 +166,6 @@ bool SCH_EDIT_FRAME::LoadSheetFromFile( SCH_SHEET* aSheet, SCH_SHEET_PATH* aHier
return false;
}
if( newSheet->GetScreen()->GetFileFormatVersionAtLoad() < 20221206 )
newSheet->GetScreen()->MigrateSimModels();
// If the loaded schematic is in a different folder from the current project and
// it contains hierarchical sheets, the hierarchical sheet paths need to be updated.
if( fileName.GetPathWithSep() != Prj().GetProjectPath() && newSheet->CountSheets() )
@ -505,6 +502,8 @@ bool SCH_EDIT_FRAME::LoadSheetFromFile( SCH_SHEET* aSheet, SCH_SHEET_PATH* aHier
}
}
newScreen->MigrateSimModels();
// Attempt to create new symbol instances using the instance data loaded above.
sheetHierarchy.AddNewSymbolInstances( *aHierarchy );

2
eeschema/tools/sch_editor_control.cpp

@ -1815,6 +1815,8 @@ int SCH_EDITOR_CONTROL::Paste( const TOOL_EVENT& aEvent )
// Save loaded screen instances to m_clipboardSheetInstances
setClipboardInstances( tempScreen );
tempScreen->MigrateSimModels();
PASTE_MODE pasteMode = annotate.automatic ? PASTE_MODE::RESPECT_OPTIONS
: PASTE_MODE::REMOVE_ANNOTATIONS;

Loading…
Cancel
Save