From d20a076c12c540131c3b0648e7733916b9526e6b Mon Sep 17 00:00:00 2001 From: Alvin Penner Date: Thu, 18 Apr 2013 15:43:04 -0400 Subject: Path Union. fix for Bug 614577 Fixed bugs: - https://launchpad.net/bugs/614577 (bzr r12279) --- src/livarot/ShapeSweep.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/livarot/ShapeSweep.cpp b/src/livarot/ShapeSweep.cpp index 2073d1cd2..c2fd83e31 100644 --- a/src/livarot/ShapeSweep.cpp +++ b/src/livarot/ShapeSweep.cpp @@ -2741,8 +2741,9 @@ Shape::CheckAdjacencies (int lastPointNo, int lastChgtPt, Shape * /*shapeHead*/, { if (TesteAdjacency (lS, lB, getPoint(n).x, n, false) == false) - break; - lS->swsData[lB].leftRnd = n; + break; + if (getPoint(lS->swsData[lB].leftRnd).x[0] > getPoint(n).x[0] + HalfRound (1)) // LP Bug 614577 + lS->swsData[lB].leftRnd = n; } for (int n = rgtN + 1; n < lastPointNo; n++) { @@ -2768,7 +2769,8 @@ Shape::CheckAdjacencies (int lastPointNo, int lastChgtPt, Shape * /*shapeHead*/, if (TesteAdjacency (rS, rB, getPoint(n).x, n, false) == false) break; - rS->swsData[rB].leftRnd = n; + if (getPoint(rS->swsData[rB].leftRnd).x[0] > getPoint(n).x[0] + HalfRound (1)) // LP Bug 614577 + rS->swsData[rB].leftRnd = n; } for (int n = rgtN + 1; n < lastPointNo; n++) { -- cgit v1.2.3