Treat net 0 items as each being in their own net.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
This commit is contained in:
parent
d06d35a74d
commit
f2ac6fcd44
|
@ -36,7 +36,7 @@ bool ITEM::collideSimple( const ITEM* aOther, int aClearance, bool aNeedMTV, VEC
|
|||
const SHAPE* shapeB = aOther->Shape();
|
||||
|
||||
// same nets? no collision!
|
||||
if( aDifferentNetsOnly && m_net == aOther->m_net && m_net >= 0 && aOther->m_net >= 0 )
|
||||
if( aDifferentNetsOnly && m_net == aOther->m_net && m_net > 0 && aOther->m_net > 0 )
|
||||
return false;
|
||||
|
||||
// check if we are not on completely different layers first
|
||||
|
|
|
@ -315,7 +315,7 @@ void TOOL_BASE::updateEndItem( const TOOL_EVENT& aEvent )
|
|||
VECTOR2I mousePos = controls()->GetMousePosition();
|
||||
|
||||
if( m_router->Settings().Mode() != RM_MarkObstacles &&
|
||||
( m_router->GetCurrentNets().empty() || m_router->GetCurrentNets().front() < 0 ) )
|
||||
( m_router->GetCurrentNets().empty() || m_router->GetCurrentNets().front() <= 0 ) )
|
||||
{
|
||||
m_endSnapPoint = snapToItem( snapEnabled, nullptr, mousePos );
|
||||
controls()->ForceCursorPosition( true, m_endSnapPoint );
|
||||
|
|
|
@ -116,10 +116,12 @@ bool TOPOLOGY::LeadingRatLine( const LINE* aTrack, SHAPE_LINE_CHAIN& aRatLine )
|
|||
}
|
||||
else
|
||||
{
|
||||
int anchor;
|
||||
|
||||
TOPOLOGY topo( tmpNode.get() );
|
||||
ITEM* it = topo.NearestUnconnectedItem( jt, &anchor );
|
||||
int anchor = 0;
|
||||
ITEM* it = nullptr;
|
||||
|
||||
if( jt->Net() > 0 )
|
||||
it = topo.NearestUnconnectedItem( jt, &anchor );
|
||||
|
||||
if( !it )
|
||||
return false;
|
||||
|
|
|
@ -927,7 +927,7 @@ bool ROUTER_TOOL::prepareInteractive()
|
|||
|
||||
editFrame->SetActiveLayer( ToLAYER_ID( routingLayer ) );
|
||||
|
||||
if( m_startItem && m_startItem->Net() >= 0 )
|
||||
if( m_startItem && m_startItem->Net() > 0 )
|
||||
highlightNet( true, m_startItem->Net() );
|
||||
|
||||
controls()->ForceCursorPosition( false );
|
||||
|
|
Loading…
Reference in New Issue