diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/universe.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/universe.cpp b/src/universe.cpp index db00b72..89ad02a 100644 --- a/src/universe.cpp +++ b/src/universe.cpp | |||
| @@ -451,7 +451,9 @@ int Universe::UniverseGC(lua_State* const L_) | |||
| 451 | } else { | 451 | } else { |
| 452 | // take the value returned by the finalizer (or our default message) and throw it as an error | 452 | // take the value returned by the finalizer (or our default message) and throw it as an error |
| 453 | // since we are inside Lua's GCTM, it will be propagated through the warning system (Lua 5.4) or swallowed silently | 453 | // since we are inside Lua's GCTM, it will be propagated through the warning system (Lua 5.4) or swallowed silently |
| 454 | raise_lua_error(L_); | 454 | // IMPORTANT: lua_error() is used here instead of the wrapper raise_lua_error() to circumvent what looks like a MSVC compiler bug |
| 455 | // that manifests as a crash inside ntdll!longjmp() function, in optimized builds only | ||
| 456 | lua_error(L_); | ||
| 455 | } | 457 | } |
| 456 | } | 458 | } |
| 457 | 459 | ||
