Exclude vias from first 'U' step.
Fixes https://gitlab.com/kicad/code/kicad/issues/9902
This commit is contained in:
parent
1f9e75f676
commit
e9847cf2bd
|
@ -1229,7 +1229,7 @@ void PCB_SELECTION_TOOL::selectConnectedTracks( BOARD_CONNECTED_ITEM& aStartItem
|
||||||
{
|
{
|
||||||
wxPoint pt = activePts[i].first;
|
wxPoint pt = activePts[i].first;
|
||||||
PCB_LAYER_ID layer = activePts[i].second;
|
PCB_LAYER_ID layer = activePts[i].second;
|
||||||
size_t pt_count = padMap.count( pt ) * 2 + viaMap.count( pt );
|
size_t pt_count = 0;
|
||||||
|
|
||||||
for( PCB_TRACK* track : trackMap[pt] )
|
for( PCB_TRACK* track : trackMap[pt] )
|
||||||
{
|
{
|
||||||
|
@ -1237,15 +1237,23 @@ void PCB_SELECTION_TOOL::selectConnectedTracks( BOARD_CONNECTED_ITEM& aStartItem
|
||||||
pt_count++;
|
pt_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( pt_count > 2 && aStopCondition == STOP_AT_JUNCTION )
|
if( aStopCondition == STOP_AT_JUNCTION )
|
||||||
{
|
{
|
||||||
activePts.erase( activePts.begin() + i );
|
if( pt_count > 2
|
||||||
continue;
|
|| ( viaMap.count( pt ) && layer != ALL_LAYERS )
|
||||||
|
|| ( padMap.count( pt ) && layer != ALL_LAYERS ) )
|
||||||
|
{
|
||||||
|
activePts.erase( activePts.begin() + i );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if( padMap.count( pt ) && aStopCondition == STOP_AT_PAD )
|
else if( aStopCondition == STOP_AT_PAD )
|
||||||
{
|
{
|
||||||
activePts.erase( activePts.begin() + i );
|
if( padMap.count( pt ) )
|
||||||
continue;
|
{
|
||||||
|
activePts.erase( activePts.begin() + i );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( padMap.count( pt ) )
|
if( padMap.count( pt ) )
|
||||||
|
|
Loading…
Reference in New Issue