diff --git a/eeschema/eeschema_config.cpp b/eeschema/eeschema_config.cpp index 8267e64a8e..908d2e37ff 100644 --- a/eeschema/eeschema_config.cpp +++ b/eeschema/eeschema_config.cpp @@ -166,7 +166,8 @@ void SCH_EDIT_FRAME::saveProjectSettings() void SCH_EDIT_FRAME::SaveProjectLocalSettings() { - // No schematic local settings yet + if( m_schematic ) + m_schematic->RecordERCExclusions(); } diff --git a/eeschema/files-io.cpp b/eeschema/files-io.cpp index 75470b72eb..93241ba8f9 100644 --- a/eeschema/files-io.cpp +++ b/eeschema/files-io.cpp @@ -728,6 +728,17 @@ bool SCH_EDIT_FRAME::saveSchematicFile( SCH_SHEET* aSheet, const wxString& aSave if( !IsWritable( schematicFileName ) ) return false; + wxFileName projectFile( schematicFileName ); + + projectFile.SetExt( ProjectFileExtension ); + + if( projectFile.FileExists() ) + { + // Save various ERC settings, such as violation severities (which may have been edited + // via the ERC dialog as well as the Schematic Setup dialog), ERC exclusions, etc. + saveProjectSettings(); + } + wxString tempFile = wxFileName::CreateTempFileName( wxS( "eeschema" ) ); // Save