Fix two more FPID empty string parsing bugs.

This commit is contained in:
Wayne Stambaugh 2013-09-17 11:51:05 -04:00
parent 028b0bd3f3
commit 6fb731189c
2 changed files with 12 additions and 8 deletions

View File

@ -74,17 +74,16 @@ void CVPCB_MAINFRAME::SetNewPkg( const wxString& aFootprintName )
// Check to see if the component has already a footprint set. // Check to see if the component has already a footprint set.
hasFootprint = !component->GetFPID().empty(); hasFootprint = !component->GetFPID().empty();
#if defined( USE_FP_LIB_TABLE )
FPID fpid; FPID fpid;
wxCHECK_RET( fpid.Parse( aFootprintName ) < 0, if( !aFootprintName.IsEmpty() )
wxString::Format( wxT( "<%s> is not a valid FPID." ), {
GetChars( aFootprintName ) ) ); wxCHECK_RET( fpid.Parse( aFootprintName ) < 0,
wxString::Format( wxT( "<%s> is not a valid FPID." ),
GetChars( aFootprintName ) ) );
}
component->SetFPID( fpid ); component->SetFPID( fpid );
#else
component->SetFPID( FPID( aFootprintName ) );
#endif
// create the new component description // create the new component description
description.Printf( CMP_FORMAT, componentIndex + 1, description.Printf( CMP_FORMAT, componentIndex + 1,

View File

@ -278,8 +278,13 @@ void LEGACY_PLUGIN::loadAllSections( bool doAppend )
{ {
auto_ptr<MODULE> module( new MODULE( m_board ) ); auto_ptr<MODULE> module( new MODULE( m_board ) );
FPID fpid;
std::string fpName = StrPurge( line + SZ( "$MODULE" ) ); std::string fpName = StrPurge( line + SZ( "$MODULE" ) );
module->SetFPID( FPID( fpName ) );
if( !fpName.empty() )
fpid = FPID( fpName );
module->SetFPID( fpid );
LoadMODULE( module.get() ); LoadMODULE( module.get() );
m_board->Add( module.release(), ADD_APPEND ); m_board->Add( module.release(), ADD_APPEND );