connectivity: treat empty FPIDs as matching in TOPO_MATCH

(cherry picked from commit b1bf5127fa)
This commit is contained in:
Tomasz Wlostowski
2025-03-11 13:40:14 +01:00
parent 71aae415a4
commit c65a1139cb
+4 -7
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;
}