Fix segfault on BOARDs without tracks
This commit is contained in:
parent
18b7dbf4d1
commit
8dcf040a4e
|
@ -143,6 +143,9 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
|
|||
for( unsigned ii = 0; ii < net->m_PadInNetList.size(); ii++ )
|
||||
candidates.push_back( net->m_PadInNetList[ii] );
|
||||
|
||||
// If we have any tracks...
|
||||
if( m_Track.GetCount() > 0 )
|
||||
{
|
||||
// Build the list of track candidates connected to the net:
|
||||
TRACK* track = m_Track.GetFirst()->GetStartNetCode( netcode );
|
||||
|
||||
|
@ -154,6 +157,7 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
|
|||
candidates.push_back( track );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// test if a candidate is inside a filled area of this zone
|
||||
const SHAPE_POLY_SET& polysList = zone->GetFilledPolysList();
|
||||
|
@ -307,13 +311,19 @@ void Merge_SubNets_Connected_By_CopperAreas( BOARD* aPcb, int aNetcode )
|
|||
|
||||
// Build the list of track candidates connected to the net:
|
||||
TRACK* track;
|
||||
|
||||
if( aPcb->m_Track.GetCount() > 0 )
|
||||
{
|
||||
track = aPcb->m_Track.GetFirst()->GetStartNetCode( aNetcode );
|
||||
|
||||
for( ; track; track = track->Next() )
|
||||
{
|
||||
if( track->GetNetCode() != aNetcode )
|
||||
break;
|
||||
|
||||
Candidates.push_back( track );
|
||||
}
|
||||
}
|
||||
|
||||
if( Candidates.size() == 0 )
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue