diff --git a/common/footprint_info.cpp b/common/footprint_info.cpp index c1af32ee0d..212a28a3e9 100644 --- a/common/footprint_info.cpp +++ b/common/footprint_info.cpp @@ -77,7 +77,7 @@ bool FOOTPRINT_LIST::ReadFootprintFiles( wxArrayString& aFootprintsLibNames ) if( !filename.FileExists() ) { - m_filesNotFound << filename.GetFullName() << wxT( "\n" ); + m_filesNotFound << aFootprintsLibNames[ii] << wxT( "\n" ); continue; } diff --git a/pcbnew/netlist_reader.cpp b/pcbnew/netlist_reader.cpp index 3472164b35..bf71a4fb56 100644 --- a/pcbnew/netlist_reader.cpp +++ b/pcbnew/netlist_reader.cpp @@ -428,16 +428,11 @@ void CMP_READER::Load( NETLIST* aNetlist ) throw( IO_ERROR, PARSE_ERROR ) // Find the corresponding item in component list: COMPONENT* component = aNetlist->GetComponentByReference( reference ); - // This cannot happen with a valid file. - if( component == NULL ) - { - wxString msg; - msg.Printf( _( "Cannot find component \'%s\' in footprint assignment file." ), - GetChars( reference ) ); - THROW_PARSE_ERROR( msg, m_lineReader->GetSource(), m_lineReader->Line(), - m_lineReader->LineNumber(), m_lineReader->Length() ); - } - - component->SetFootprintName( footprint ); + // the corresponding component could be no more existing in netlist: + // this is the case when it is just removed from schematic, + // and still exists in footprint assignment list, before this list is updated + // This is an usual case during the life of a design + if( component ) + component->SetFootprintName( footprint ); } }