diff --git a/src/libs/vtools/tools/drawTools/toolcurve/vtoolspline.cpp b/src/libs/vtools/tools/drawTools/toolcurve/vtoolspline.cpp index 9bd2e20e7..13068ea6b 100644 --- a/src/libs/vtools/tools/drawTools/toolcurve/vtoolspline.cpp +++ b/src/libs/vtools/tools/drawTools/toolcurve/vtoolspline.cpp @@ -266,7 +266,7 @@ void VToolSpline::ControlPointChangePosition(const qint32 &indexSpline, const Sp if (qApp->Settings()->IsFreeCurveMode() && not moved) { - oldMoveSpline = spline; + oldMoveSpline = QSharedPointer::create(*spline); moved = true; } @@ -278,7 +278,7 @@ void VToolSpline::ControlPointChangePosition(const qint32 &indexSpline, const Sp } else { - newMoveSpline = QSharedPointer(new VSpline(spl)); + newMoveSpline = QSharedPointer::create(spl); VAbstractTool::data.UpdateGObject(m_id, newMoveSpline); RefreshGeometry(); @@ -404,7 +404,7 @@ void VToolSpline::mouseMoveEvent(QGraphicsSceneMouseEvent *event) if (qApp->Settings()->IsFreeCurveMode() && not moved) { - oldMoveSpline = spline; + oldMoveSpline = QSharedPointer::create(*spline); moved = true; } @@ -443,7 +443,7 @@ void VToolSpline::mouseMoveEvent(QGraphicsSceneMouseEvent *event) oldPosition = event->scenePos(); // Now mouse here - newMoveSpline = QSharedPointer(new VSpline(spline->GetP1(), p2, p3, spline->GetP4())); + newMoveSpline = QSharedPointer::create(spline->GetP1(), p2, p3, spline->GetP4()); if (not qApp->Settings()->IsFreeCurveMode()) { diff --git a/src/libs/vtools/tools/drawTools/toolcurve/vtoolsplinepath.cpp b/src/libs/vtools/tools/drawTools/toolcurve/vtoolsplinepath.cpp index da10492df..c55ba4926 100644 --- a/src/libs/vtools/tools/drawTools/toolcurve/vtoolsplinepath.cpp +++ b/src/libs/vtools/tools/drawTools/toolcurve/vtoolsplinepath.cpp @@ -262,11 +262,11 @@ void VToolSplinePath::ControlPointChangePosition(const qint32 &indexSpline, cons if (qApp->Settings()->IsFreeCurveMode() && not moved) { - oldMoveSplinePath = oldSplPath; + oldMoveSplinePath = QSharedPointer::create(*oldSplPath); moved = true; } - QSharedPointer newSplPath = oldSplPath; + QSharedPointer newSplPath = QSharedPointer::create(*oldSplPath); const VSpline spl = CorrectedSpline(newSplPath->GetSpline(indexSpline), position, pos); UpdateControlPoints(spl, newSplPath, indexSpline); @@ -559,11 +559,11 @@ void VToolSplinePath::mouseMoveEvent(QGraphicsSceneMouseEvent *event) if (qApp->Settings()->IsFreeCurveMode() && not moved) { - oldMoveSplinePath = oldSplPath; + oldMoveSplinePath = QSharedPointer::create(*oldSplPath); moved = true; } - newMoveSplinePath = oldSplPath; + newMoveSplinePath = QSharedPointer::create(*oldSplPath); VSpline spline = newMoveSplinePath->GetSpline(splIndex); const qreal t = spline.ParamT(oldPosition);