Sync with main branch r6516

This commit is contained in:
Cirilo Bernardo 2016-01-28 17:14:36 +11:00
commit 8264d393e8
4 changed files with 12 additions and 5 deletions

View File

@ -1754,16 +1754,16 @@ void LIB_PART::SetAliases( const wxArrayString& aAliasList )
} }
// Remove names in the current component that are not in the new alias list. // Remove names in the current component that are not in the new alias list.
LIB_ALIASES::iterator it; LIB_ALIASES::iterator it = m_aliases.begin();
for( it = m_aliases.begin(); it != m_aliases.end(); it++ ) while( it != m_aliases.end() )
{ {
int index = aAliasList.Index( (*it)->GetName(), false ); int index = aAliasList.Index( (*it)->GetName(), false );
if( index != wxNOT_FOUND || (*it)->IsRoot() ) if( index != wxNOT_FOUND || (*it)->IsRoot() )
continue; ++it;
else
it = m_aliases.erase( it ); it = m_aliases.erase( it );
} }
} }

View File

@ -955,6 +955,13 @@ bool DRC::doPadToPadsDrc( D_PAD* aRefPad, D_PAD** aStart, D_PAD** aEnd, int x_li
if( pad->PadNameEqual( aRefPad ) ) if( pad->PadNameEqual( aRefPad ) )
continue; continue;
} }
// if either pad has no drill and is only on technical layers, not a clearance violation
if( ( ( pad->GetLayerSet() & layerMask ) == 0 && !pad->GetDrillSize().x ) ||
( ( aRefPad->GetLayerSet() & layerMask ) == 0 && !aRefPad->GetDrillSize().x ) )
{
continue;
}
if( !checkClearancePadToPad( aRefPad, pad ) ) if( !checkClearancePadToPad( aRefPad, pad ) )
{ {