Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37560615
en ru br
Репозитории ALT

Группа :: Система/Библиотеки
Пакет: libpolyclipping

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: polyclipping-bug47.patch
Скачать


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)
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin