Test full LIB_ID in symbol footprint filter match DRC.

Apparently newer symbol libraries are using the library nickname in the
footprint filter string.  The symbol footprint filter match DRC was only
checking the footprint name against the new filter which would always
fail.  A test against the full LIB_ID string is now performed when the
filter string contains the library separator character ':'.  The ERC test
already performed this check.

(cherry picked from commit 001d3dfd88)
This commit is contained in:
Wayne Stambaugh
2025-03-04 08:06:15 -05:00
parent 9025f04f20
commit 50b8b797f7
@@ -156,12 +156,18 @@ void DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist( NETLIST& aNetlist )
if( !m_drcEngine->IsErrorLimitExceeded( DRCE_FOOTPRINT_FILTERS ) )
{
wxString libId = footprint->GetFPID().GetUniStringLibId();
wxString fpName = footprint->GetFPID().GetUniStringLibItemName();
size_t filtercount = component->GetFootprintFilters().GetCount();
bool found = ( 0 == filtercount ); // if no entries, do not filter
for( size_t jj = 0; jj < filtercount && !found; jj++ )
found = fpName.Matches( component->GetFootprintFilters()[jj] );
{
if( component->GetFootprintFilters()[jj].Find( ':' ) == wxNOT_FOUND )
found = fpName.Matches( component->GetFootprintFilters()[jj] );
else
found = libId.Matches( component->GetFootprintFilters()[jj] );
}
if( !found )
{