diff --git a/pcbnew/router/pns_component_dragger.cpp b/pcbnew/router/pns_component_dragger.cpp index 5aa3d21b45..e8f8673c60 100644 --- a/pcbnew/router/pns_component_dragger.cpp +++ b/pcbnew/router/pns_component_dragger.cpp @@ -55,6 +55,9 @@ bool COMPONENT_DRAGGER::Start( const VECTOR2I& aP, ITEM_SET& aPrimitives ) if( item.item->Kind() != ITEM::SOLID_T ) continue; + if( ! item.item->IsRoutable() ) + continue; + auto solid = static_cast( item.item ); auto jt = m_world->FindJoint( solid->Pos(), solid ); diff --git a/pcbnew/router/pns_node.cpp b/pcbnew/router/pns_node.cpp index 1d16c12ded..6a9f79509e 100644 --- a/pcbnew/router/pns_node.cpp +++ b/pcbnew/router/pns_node.cpp @@ -757,6 +757,9 @@ void NODE::removeViaIndex( VIA* aVia ) void NODE::removeSolidIndex( SOLID* aSolid ) { + if( !aSolid->IsRoutable() ) + return; + // fixme: redundant code JOINT* jt = FindJoint( aSolid->Pos(), aSolid->Layers().Start(), aSolid->Net() ); assert( jt );