diff --git a/src/Mod/Sketcher/Gui/CommandConstraints.cpp b/src/Mod/Sketcher/Gui/CommandConstraints.cpp index 409c43b89b..c29345db24 100644 --- a/src/Mod/Sketcher/Gui/CommandConstraints.cpp +++ b/src/Mod/Sketcher/Gui/CommandConstraints.cpp @@ -1376,6 +1376,7 @@ public: , selLine({}) , selCircleArc({}) , selEllipseAndCo({}) + , selSplineAndCo({}) , initialSelection(std::move(SubNames)) , numberOfConstraintsCreated(0) { @@ -1616,6 +1617,15 @@ protected: Sketcher::SketchObject* Obj; + void clearRefVectors() + { + selPoints.clear(); + selLine.clear(); + selCircleArc.clear(); + selEllipseAndCo.clear(); + selSplineAndCo.clear(); + } + void handleInitialSelection() { if (initialSelection.size() == 0) { @@ -1648,11 +1658,7 @@ protected: bool selAllowed = makeAppropriateConstraint(Base::Vector2d(0.,0.)); if (!selAllowed) { - selPoints.clear(); - selLine.clear(); - selCircleArc.clear(); - selEllipseAndCo.clear(); - selSplineAndCo.clear(); + clearRefVectors(); } } @@ -1686,10 +1692,7 @@ protected: numberOfConstraintsCreated = 0; specialConstraint = SpecialConstraint::None; previousOnSketchPos = Base::Vector2d(0.f, 0.f); - selPoints.clear(); - selLine.clear(); - selCircleArc.clear(); - selEllipseAndCo.clear(); + clearRefVectors(); } else { sketchgui->purgeHandler(); // no code after this line, Handler get deleted in ViewProvider