diff --git a/kicad/tools/kicad_manager_control.cpp b/kicad/tools/kicad_manager_control.cpp index 8b6003466b..a29429bd32 100644 --- a/kicad/tools/kicad_manager_control.cpp +++ b/kicad/tools/kicad_manager_control.cpp @@ -392,11 +392,13 @@ public: else if( ext == ProjectFileExtension ) { PROJECT_FILE projectFile( aSrcFilePath ); + projectFile.LoadFromFile(); projectFile.SaveAs( destFile.GetPath(), destFile.GetName() ); } else if( ext == ProjectLocalSettingsFileExtension ) { PROJECT_LOCAL_SETTINGS projectLocalSettings( nullptr, aSrcFilePath ); + projectLocalSettings.LoadFromFile(); projectLocalSettings.SaveAs( destFile.GetPath(), destFile.GetName() ); } } @@ -540,6 +542,9 @@ int KICAD_MANAGER_CONTROL::SaveProjectAs( const TOOL_EVENT& aEvent ) wxString default_dir = m_frame->GetMruPath(); + Prj().GetProjectFile().SaveToFile(); + Prj().GetLocalSettings().SaveToFile(); + if( default_dir == currentProjectDirPath || default_dir == currentProjectDirPath + wxFileName::GetPathSeparator() ) {