PNS: Fix loop removal outside shove mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9680
This commit is contained in:
parent
8a0f8c329f
commit
a746d31038
|
@ -1222,7 +1222,7 @@ bool LINE_PLACER::Move( const VECTOR2I& aP, ITEM* aEndItem )
|
|||
|
||||
if( reachesEnd
|
||||
&& eiDepth >= 0
|
||||
&& aEndItem && latestNode->Depth() > eiDepth
|
||||
&& aEndItem && latestNode->Depth() >= eiDepth
|
||||
&& current.SegmentCount() )
|
||||
{
|
||||
SplitAdjacentSegments( m_lastNode, aEndItem, current.CPoint( -1 ) );
|
||||
|
@ -1563,8 +1563,18 @@ void LINE_PLACER::simplifyNewLine( NODE* aNode, LINKED_ITEM* aLatest )
|
|||
|
||||
for( ITEM* neighbor : aJoint->Links() )
|
||||
{
|
||||
if( neighbor == aItem || !neighbor->LayersOverlap( aItem ) )
|
||||
if( neighbor == aItem
|
||||
|| !neighbor->OfKind( ITEM::SEGMENT_T | ITEM::ARC_T )
|
||||
|| !neighbor->LayersOverlap( aItem ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if( static_cast<SEGMENT*>( neighbor )->Width()
|
||||
!= static_cast<SEGMENT*>( aItem )->Width() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
const SEG& testSeg = static_cast<SEGMENT*>( neighbor )->Seg();
|
||||
|
||||
|
|
Loading…
Reference in New Issue