diff --git a/ChangeLog.txt b/ChangeLog.txt index db1fba590..aa96aa444 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -42,6 +42,7 @@ - [#737] Valentina produces corrupted file if unite two pieces with pins. - [#738] Bug in transformation over arc and elliptical arc. - [#729] Moved Bezier curves can't be rotated. +- [#742] Valentina produces wrong seam allowance. # Version 0.5.0 May 9, 2017 - [#581] User can now filter input lists by keyword in function wizard. diff --git a/src/libs/vgeometry/vabstractcubicbezierpath.cpp b/src/libs/vgeometry/vabstractcubicbezierpath.cpp index 41372dee9..9365ce0e7 100644 --- a/src/libs/vgeometry/vabstractcubicbezierpath.cpp +++ b/src/libs/vgeometry/vabstractcubicbezierpath.cpp @@ -89,6 +89,11 @@ QVector VAbstractCubicBezierPath::GetPoints() const QVector pathPoints; for (qint32 i = 1; i <= CountSubSpl(); ++i) { + if (not pathPoints.isEmpty()) + { + pathPoints.removeLast(); + } + pathPoints += GetSpline(i).GetPoints(); } return pathPoints; diff --git a/src/libs/vgeometry/vabstractcurve.cpp b/src/libs/vgeometry/vabstractcurve.cpp index dbf0d93a8..cc6c2ed9c 100644 --- a/src/libs/vgeometry/vabstractcurve.cpp +++ b/src/libs/vgeometry/vabstractcurve.cpp @@ -117,7 +117,12 @@ QVector VAbstractCurve::FromBegin(const QVector &points, const if (IsPointOnLineSegment(begin, points.at(i), points.at(i+1))) { theBegin = true; - segment.append(begin); + + if (begin != points.at(i+1)) + { + segment.append(begin); + } + if (i == points.count()-2) { segment.append(points.at(i+1));