godot/thirdparty/clipper2/patches/clipper2-exceptions.patch

39 lines
1.3 KiB
Diff

diff --git a/thirdparty/clipper2/include/clipper2/clipper.core.h b/thirdparty/clipper2/include/clipper2/clipper.core.h
index b3dddeeaa2..a77cdad5f4 100644
--- a/thirdparty/clipper2/include/clipper2/clipper.core.h
+++ b/thirdparty/clipper2/include/clipper2/clipper.core.h
@@ -21,6 +21,8 @@
#include <numeric>
#include "clipper2/clipper.version.h"
+#define CLIPPER2_THROW(exception) std::abort()
+
namespace Clipper2Lib
{
@@ -78,18 +80,18 @@ namespace Clipper2Lib
switch (error_code)
{
case precision_error_i:
- throw Clipper2Exception(precision_error);
+ CLIPPER2_THROW(Clipper2Exception(precision_error));
case scale_error_i:
- throw Clipper2Exception(scale_error);
+ CLIPPER2_THROW(Clipper2Exception(scale_error));
case non_pair_error_i:
- throw Clipper2Exception(non_pair_error);
+ CLIPPER2_THROW(Clipper2Exception(non_pair_error));
case undefined_error_i:
- throw Clipper2Exception(undefined_error);
+ CLIPPER2_THROW(Clipper2Exception(undefined_error));
case range_error_i:
- throw Clipper2Exception(range_error);
+ CLIPPER2_THROW(Clipper2Exception(range_error));
}
#else
- ++error_code; // only to stop compiler warning
+ if(error_code) {}; // only to stop compiler 'parameter not used' warning
#endif
}