pcbnew: Unconnected items share the same NETINFO_ITEM, even if on different boards.

This commit is contained in:
Maciej Suminski 2014-11-24 16:34:47 +01:00
parent 30c7821ba2
commit 03f7003c00
2 changed files with 6 additions and 12 deletions

View File

@ -1214,9 +1214,11 @@ NETINFO_ITEM* BOARD::FindNet( int aNetcode ) const
// the first valid netcode is 1 and the last is m_NetInfo.GetCount()-1. // the first valid netcode is 1 and the last is m_NetInfo.GetCount()-1.
// zero is reserved for "no connection" and is not used. // zero is reserved for "no connection" and is not used.
// NULL is returned for non valid netcodes // NULL is returned for non valid netcodes
NETINFO_ITEM* net = m_NetInfo.GetNetItem( aNetcode );
return net; if( aNetcode == NETINFO_LIST::UNCONNECTED )
return &NETINFO_LIST::ORPHANED;
else
return m_NetInfo.GetNetItem( aNetcode );
} }

View File

@ -53,19 +53,11 @@ BOARD_CONNECTED_ITEM::BOARD_CONNECTED_ITEM( const BOARD_CONNECTED_ITEM& aItem )
void BOARD_CONNECTED_ITEM::SetNetCode( int aNetCode ) void BOARD_CONNECTED_ITEM::SetNetCode( int aNetCode )
{ {
BOARD* board = GetBoard(); BOARD* board = GetBoard();
if( board )
{
m_netinfo = board->FindNet( aNetCode );
// The requested net does not exist, mark it as unconnected if( board )
if( m_netinfo == NULL ) m_netinfo = board->FindNet( aNetCode );
m_netinfo = board->FindNet( NETINFO_LIST::UNCONNECTED );
}
else else
{
// There is no board that contains list of nets, the item is orphaned
m_netinfo = &NETINFO_LIST::ORPHANED; m_netinfo = &NETINFO_LIST::ORPHANED;
}
} }