Split bar check for fp/symbols

This commit is contained in:
Seth Hillbrand
2025-06-05 11:40:47 -07:00
parent ed67d37480
commit fbaf480351
2 changed files with 7 additions and 3 deletions
@@ -184,6 +184,9 @@ void SCH_IO_KICAD_SEXPR_PARSER::ParseLib( LIB_SYMBOL_MAP& aSymbolLibMap )
NextTok();
parseHeader( T_kicad_symbol_lib, SEXPR_SYMBOL_LIB_FILE_VERSION );
// Prior to this, bar was a valid string char for unquoted strings.
SetKnowsBar( m_requiredVersion >= 20240529 );
bool versionChecked = false;
auto checkVersion =
@@ -900,9 +903,6 @@ void SCH_IO_KICAD_SEXPR_PARSER::parseHeader( TSCHEMATIC_T::T aHeaderType, int aF
{
m_requiredVersion = aFileVersion;
}
// Prior to this, bar was a valid string char for unquoted strings.
SetKnowsBar( m_requiredVersion >= 20240620 );
}
@@ -2687,6 +2687,9 @@ void SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic( SCH_SHEET* aSheet, bool aIsCopya
parseHeader( T_kicad_sch, SEXPR_SCHEMATIC_FILE_VERSION );
// Prior to this, bar was a valid string char for unquoted strings.
SetKnowsBar( m_requiredVersion >= 20240620 );
// Prior to schematic file version 20210406, schematics did not have UUIDs so we need
// to generate one for the root schematic for instance paths.
if( m_requiredVersion < 20210406 )
@@ -4535,6 +4535,7 @@ FOOTPRINT* PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked( wxArrayString* a
NeedRIGHT();
m_requiredVersion = std::max( m_requiredVersion, this_version );
m_tooRecent = ( m_requiredVersion > SEXPR_BOARD_FILE_VERSION );
SetKnowsBar( m_requiredVersion >= 20240706 ); // Bar token is known from this version
footprint->SetFileFormatVersionAtLoad( this_version );
break;
}