Eeschema: Fix crash when reading a library if a symbol having aliases generates a parse error after its ALIAS list definition

This commit is contained in:
jean-pierre charras 2017-02-28 12:52:37 +01:00
parent 94037f4d3d
commit be10de8d28
1 changed files with 5 additions and 1 deletions

View File

@ -2463,6 +2463,11 @@ LIB_PART* SCH_LEGACY_PLUGIN_CACHE::loadPart( FILE_LINE_READER& aReader )
{
// Now all is good, Add the root alias to the cache alias list.
m_aliases[ part->GetName() ] = part->GetAlias( part->GetName() );
// Add aliases when exist
for( size_t ii = 0; ii < part->GetAliasCount(); ++ii )
m_aliases[ part->GetAlias( ii )->GetName() ] = part->GetAlias( ii );
return part.release();
}
@ -2516,7 +2521,6 @@ void SCH_LEGACY_PLUGIN_CACHE::loadAliases( std::unique_ptr< LIB_PART >& aPart,
newAlias = alias;
checkForDuplicates( newAlias );
aPart->AddAlias( newAlias );
m_aliases[ newAlias ] = aPart->GetAlias( newAlias );
alias.clear();
parseUnquotedString( alias, aReader, line, &line, true );
}