connectivity: treat empty FPIDs as matching in TOPO_MATCH

(cherry picked from commit b1bf5127fa21d5b5c794378531d8640658a46632)
This commit is contained in:
Tomasz Wlostowski 2025-03-06 23:23:09 +01:00
parent 71aae415a4
commit c65a1139cb

View File

@ -536,7 +536,9 @@ COMPONENT::COMPONENT( const wxString& aRef, FOOTPRINT* aParentFp, std::optional<
bool COMPONENT::IsSameKind( const COMPONENT& b ) const
{
return m_prefix == b.m_prefix && m_parentFootprint->GetFPID() == b.m_parentFootprint->GetFPID();
return m_prefix == b.m_prefix &&
( (m_parentFootprint->GetFPID() == b.m_parentFootprint->GetFPID() ) ||
( m_parentFootprint->GetFPID().empty() && b.m_parentFootprint->GetFPID().empty() ) );
}
void COMPONENT::AddPin( PIN* aPin )
@ -552,12 +554,7 @@ bool COMPONENT::MatchesWith( COMPONENT* b )
return false;
}
if( m_parentFootprint->GetFPID() != b->m_parentFootprint->GetFPID() )
{
return false;
}
if( m_prefix != b->m_prefix )
if( !IsSameKind( *b ) )
{
return false;
}