diff --git a/src/Mod/Sketcher/Gui/DrawSketchController.h b/src/Mod/Sketcher/Gui/DrawSketchController.h index 3a228b1a11..2ba0cd4b7f 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchController.h +++ b/src/Mod/Sketcher/Gui/DrawSketchController.h @@ -145,8 +145,9 @@ protected: }; //@} -private: Base::Vector2d prevCursorPosition; + +private: Base::Vector2d lastControlEnforcedPosition; int nOnViewParameter = OnViewParametersT::defaultMethodSize(); diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandlerCircle.h b/src/Mod/Sketcher/Gui/DrawSketchHandlerCircle.h index 1b547cf5bf..4727c4f825 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandlerCircle.h +++ b/src/Mod/Sketcher/Gui/DrawSketchHandlerCircle.h @@ -720,9 +720,7 @@ void DSHCircleController::addConstraints() const std::vector& ConStr = handler->sketchgui->getSketchObject()->Constraints.getValues(); int index = static_cast(ConStr.size()) - 1; - Base::Vector2d dir = handler->secondPoint - handler->centerPoint; - Base::Vector2d toPnt = handler->secondPoint + dir * 0.3; - handler->moveConstraint(index, toPnt); + handler->moveConstraint(index, prevCursorPosition); }; // NOTE: if AutoConstraints is empty, we can add constraints directly without any diagnose.