From c782bf37db77a96ba2b4232ccd782cde96bf29cd Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Wed, 19 Dec 2018 09:19:37 +0200 Subject: [PATCH] Fixed issue #909. Valentina produces wrong united path. (grafted from 6f13c33817dd37d3679398274e697e3da87dbbd0) --HG-- branch : develop --- ChangeLog.txt | 1 + src/libs/vpatterndb/vpiece.cpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index cff1677ad..1d701473b 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,7 @@ # Version 0.6.2 (unreleased) - [#903] Bug in tool Cut Spline path. - [#905] Valentina crashes with error: This id is not unique. +- [#909] Valentina produces wrong united path. # Version 0.6.1 October 23, 2018 - [#885] Regression. Broken support for multi size measurements. diff --git a/src/libs/vpatterndb/vpiece.cpp b/src/libs/vpatterndb/vpiece.cpp index 6b7b1a52b..b0bb1d024 100644 --- a/src/libs/vpatterndb/vpiece.cpp +++ b/src/libs/vpatterndb/vpiece.cpp @@ -938,8 +938,17 @@ QVector VPiece::GetUnitedPath(const VContainer *data) const continue; } - const QVector midBefore = united.mid(0, indexStartPoint+1); - const QVector midAfter = united.mid(indexEndPoint, united.size() - midBefore.size()); + QVector midBefore; + QVector midAfter; + if (indexStartPoint <= indexEndPoint) + { + midBefore = united.mid(0, indexStartPoint+1); + midAfter = united.mid(indexEndPoint, united.size() - midBefore.size()); + } + else + { + midBefore = united.mid(indexEndPoint, indexStartPoint+1); + } QVector customNodes = data->GetPiecePath(records.at(i).path).GetNodes(); if (records.at(i).reverse)