mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-20 00:21:31 +00:00
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.
This commit is contained in:
parent
b419058df3
commit
001d3dfd88
@ -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 )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user