# HG changeset patch # User Leonard Ritter # Date 1524616592 -7200 # Wed Apr 25 02:36:32 2018 +0200 # Node ID 6790391927c2788bf1a4ec9fc4cbb0f038b7ce79 # Parent 4c3d13d7b3852fa2440f931cbb31ddd9163cd952 * win32: fixed a setjmp related crash diff --git a/src/scopes.cpp b/src/scopes.cpp --- a/src/scopes.cpp +++ b/src/scopes.cpp @@ -4046,11 +4046,19 @@ } }; +#ifdef SCOPES_WIN32 +#define SCOPES_TRY() \ + ExceptionPad exc_pad; \ + ExceptionPad *_last_exc_pad = _exc_pad; \ + _exc_pad = &exc_pad; \ + if (!_setjmpex(exc_pad.retaddr, nullptr)) { +#else #define SCOPES_TRY() \ ExceptionPad exc_pad; \ ExceptionPad *_last_exc_pad = _exc_pad; \ _exc_pad = &exc_pad; \ if (!setjmp(exc_pad.retaddr)) { +#endif #define SCOPES_CATCH(EXCNAME) \ _exc_pad = _last_exc_pad; \