summaryrefslogtreecommitdiffstats
path: root/thirdparty/misc/patches/clipper-exceptions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/misc/patches/clipper-exceptions.patch')
-rw-r--r--thirdparty/misc/patches/clipper-exceptions.patch154
1 files changed, 0 insertions, 154 deletions
diff --git a/thirdparty/misc/patches/clipper-exceptions.patch b/thirdparty/misc/patches/clipper-exceptions.patch
deleted file mode 100644
index 537afd59b3..0000000000
--- a/thirdparty/misc/patches/clipper-exceptions.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff --git a/thirdparty/misc/clipper.cpp b/thirdparty/misc/clipper.cpp
-index 8c3a59c4ca..c67045d113 100644
---- a/thirdparty/misc/clipper.cpp
-+++ b/thirdparty/misc/clipper.cpp
-@@ -48,6 +48,38 @@
- #include <ostream>
- #include <functional>
-
-+//Explicitly disables exceptions handling for target platform
-+//#define CLIPPER_NOEXCEPTION
-+
-+#define CLIPPER_THROW(exception) std::abort()
-+#define CLIPPER_TRY if(true)
-+#define CLIPPER_CATCH(exception) if(false)
-+
-+#if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)
-+ #ifndef CLIPPER_NOEXCEPTION
-+ #undef CLIPPER_THROW
-+ #define CLIPPER_THROW(exception) throw exception
-+ #undef CLIPPER_TRY
-+ #define CLIPPER_TRY try
-+ #undef CLIPPER_CATCH
-+ #define CLIPPER_CATCH(exception) catch(exception)
-+ #endif
-+#endif
-+
-+//Optionally allows to override exception macros
-+#if defined(CLIPPER_THROW_USER)
-+ #undef CLIPPER_THROW
-+ #define CLIPPER_THROW CLIPPER_THROW_USER
-+#endif
-+#if defined(CLIPPER_TRY_USER)
-+ #undef CLIPPER_TRY
-+ #define CLIPPER_TRY CLIPPER_TRY_USER
-+#endif
-+#if defined(CLIPPER_CATCH_USER)
-+ #undef CLIPPER_CATCH
-+ #define CLIPPER_CATCH CLIPPER_CATCH_USER
-+#endif
-+
- namespace ClipperLib {
-
- static double const pi = 3.141592653589793238;
-@@ -898,7 +930,7 @@ void RangeTest(const IntPoint& Pt, bool& useFullRange)
- if (useFullRange)
- {
- if (Pt.X > hiRange || Pt.Y > hiRange || -Pt.X > hiRange || -Pt.Y > hiRange)
-- throw clipperException("Coordinate outside allowed range");
-+ CLIPPER_THROW(clipperException("Coordinate outside allowed range"));
- }
- else if (Pt.X > loRange|| Pt.Y > loRange || -Pt.X > loRange || -Pt.Y > loRange)
- {
-@@ -1046,10 +1078,10 @@ bool ClipperBase::AddPath(const Path &pg, PolyType PolyTyp, bool Closed)
- {
- #ifdef use_lines
- if (!Closed && PolyTyp == ptClip)
-- throw clipperException("AddPath: Open paths must be subject.");
-+ CLIPPER_THROW(clipperException("AddPath: Open paths must be subject."));
- #else
- if (!Closed)
-- throw clipperException("AddPath: Open paths have been disabled.");
-+ CLIPPER_THROW(clipperException("AddPath: Open paths have been disabled."));
- #endif
-
- int highI = (int)pg.size() -1;
-@@ -1062,7 +1094,7 @@ bool ClipperBase::AddPath(const Path &pg, PolyType PolyTyp, bool Closed)
-
- bool IsFlat = true;
- //1. Basic (first) edge initialization ...
-- try
-+ CLIPPER_TRY
- {
- edges[1].Curr = pg[1];
- RangeTest(pg[0], m_UseFullRange);
-@@ -1075,10 +1107,10 @@ bool ClipperBase::AddPath(const Path &pg, PolyType PolyTyp, bool Closed)
- InitEdge(&edges[i], &edges[i+1], &edges[i-1], pg[i]);
- }
- }
-- catch(...)
-+ CLIPPER_CATCH(...)
- {
- delete [] edges;
-- throw; //range test fails
-+ CLIPPER_THROW(); //range test fails
- }
- TEdge *eStart = &edges[0];
-
-@@ -1442,7 +1474,7 @@ void ClipperBase::SwapPositionsInAEL(TEdge *Edge1, TEdge *Edge2)
- void ClipperBase::UpdateEdgeIntoAEL(TEdge *&e)
- {
- if (!e->NextInLML)
-- throw clipperException("UpdateEdgeIntoAEL: invalid call");
-+ CLIPPER_THROW(clipperException("UpdateEdgeIntoAEL: invalid call"));
-
- e->NextInLML->OutIdx = e->OutIdx;
- TEdge* AelPrev = e->PrevInAEL;
-@@ -1510,7 +1542,7 @@ bool Clipper::Execute(ClipType clipType, Paths &solution,
- {
- if( m_ExecuteLocked ) return false;
- if (m_HasOpenPaths)
-- throw clipperException("Error: PolyTree struct is needed for open path clipping.");
-+ CLIPPER_THROW(clipperException("Error: PolyTree struct is needed for open path clipping."));
- m_ExecuteLocked = true;
- solution.resize(0);
- m_SubjFillType = subjFillType;
-@@ -1560,7 +1592,7 @@ void Clipper::FixHoleLinkage(OutRec &outrec)
- bool Clipper::ExecuteInternal()
- {
- bool succeeded = true;
-- try {
-+ CLIPPER_TRY {
- Reset();
- m_Maxima = MaximaList();
- m_SortedEdges = 0;
-@@ -1583,7 +1615,7 @@ bool Clipper::ExecuteInternal()
- InsertLocalMinimaIntoAEL(botY);
- }
- }
-- catch(...)
-+ CLIPPER_CATCH(...)
- {
- succeeded = false;
- }
-@@ -2827,18 +2859,18 @@ void Clipper::ProcessHorizontal(TEdge *horzEdge)
- bool Clipper::ProcessIntersections(const cInt topY)
- {
- if( !m_ActiveEdges ) return true;
-- try {
-+ CLIPPER_TRY {
- BuildIntersectList(topY);
- size_t IlSize = m_IntersectList.size();
- if (IlSize == 0) return true;
- if (IlSize == 1 || FixupIntersectionOrder()) ProcessIntersectList();
- else return false;
- }
-- catch(...)
-+ CLIPPER_CATCH(...)
- {
- m_SortedEdges = 0;
- DisposeIntersectNodes();
-- throw clipperException("ProcessIntersections error");
-+ CLIPPER_THROW(clipperException("ProcessIntersections error"));
- }
- m_SortedEdges = 0;
- return true;
-@@ -3002,7 +3034,7 @@ void Clipper::DoMaxima(TEdge *e)
- DeleteFromAEL(eMaxPair);
- }
- #endif
-- else throw clipperException("DoMaxima error");
-+ else CLIPPER_THROW(clipperException("DoMaxima error"));
- }
- //------------------------------------------------------------------------------
-