Careful that we don't move the wrong end of the arc.

Fixes https://gitlab.com/kicad/code/kicad/issues/7409
This commit is contained in:
Jeff Young 2021-02-03 23:50:46 +00:00
parent 90b3d0c96d
commit 065a16b48c
1 changed files with 8 additions and 4 deletions

View File

@ -585,9 +585,9 @@ int PCB_POINT_EDITOR::OnSelectionChange( const TOOL_EVENT& aEvent )
return 0; return 0;
} }
void PCB_POINT_EDITOR::editArcEndpointKeepTangent( PCB_SHAPE* aArc, VECTOR2I aCenter, VECTOR2I aStart, void PCB_POINT_EDITOR::editArcEndpointKeepTangent( PCB_SHAPE* aArc, VECTOR2I aCenter,
VECTOR2I aMid, VECTOR2I aEnd, VECTOR2I aStart, VECTOR2I aMid, VECTOR2I aEnd,
const VECTOR2I aCursor ) const const VECTOR2I aCursor ) const
{ {
VECTOR2D startLine = aStart - aCenter; VECTOR2D startLine = aStart - aCenter;
VECTOR2D endLine = aEnd - aCenter; VECTOR2D endLine = aEnd - aCenter;
@ -608,7 +608,7 @@ void PCB_POINT_EDITOR::editArcEndpointKeepTangent( PCB_SHAPE* aArc, VECTOR2I aCe
p3 = &aMid; p3 = &aMid;
movingStart = true; movingStart = true;
} }
else else if( aEnd != aArc->GetArcEnd() )
{ {
aEnd = aCursor; aEnd = aCursor;
p1 = &aStart; p1 = &aStart;
@ -616,6 +616,10 @@ void PCB_POINT_EDITOR::editArcEndpointKeepTangent( PCB_SHAPE* aArc, VECTOR2I aCe
p3 = &aMid; p3 = &aMid;
movingStart = false; movingStart = false;
} }
else
{
return;
}
VECTOR2D v1, v2, v3, v4; VECTOR2D v1, v2, v3, v4;