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 | ||