Group :: Sistema/Bibliotecas
RPM: libpolyclipping
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: polyclipping-bug47.patch
Download
Download
diff --git a/cpp/clipper.cpp b/cpp/clipper.cpp
index 02a7b70..aa146ea 100644
--- a/cpp/clipper.cpp
+++ b/cpp/clipper.cpp
@@ -896,13 +896,14 @@ bool ClipperBase::AddPolygon(const Polygon &pg, PolyType polyType)
RangeTest(pg[i], maxVal);
if (i == 0 || PointsEqual(p[j], pg[i])) continue;
- else if (j > 0 && SlopesEqual(p[j-1], p[j], pg[i], m_UseFullRange))
+ else if (j > 0 && SlopesEqual(p[j-1], p[j], pg[i], maxVal == hiRange))
{
if (PointsEqual(p[j-1], pg[i])) j--;
} else j++;
p[j] = pg[i];
}
if (j < 2) return false;
+ m_UseFullRange = (maxVal == hiRange);
len = j+1;
while (len > 2)