From 2515207606683d60a6657c7ea18189381dae157c Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Mon, 14 May 2018 21:03:48 +0200 Subject: Fix crash in log_deprecated when triggered from no function Based on commit a1598e1b --- src/script/common/c_internal.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/script/common/c_internal.cpp b/src/script/common/c_internal.cpp index 3fa044172..3e28d9cf6 100644 --- a/src/script/common/c_internal.cpp +++ b/src/script/common/c_internal.cpp @@ -181,7 +181,9 @@ void log_deprecated(lua_State *L, const std::string &message) warningstream << message; if (L) { // L can be NULL if we get called from scripting_game.cpp lua_Debug ar; - FATAL_ERROR_IF(!lua_getstack(L, 2, &ar), "lua_getstack() failed"); + + if (!lua_getstack(L, 2, &ar)) + FATAL_ERROR_IF(!lua_getstack(L, 1, &ar), "lua_getstack() failed"); FATAL_ERROR_IF(!lua_getinfo(L, "Sl", &ar), "lua_getinfo() failed"); warningstream << " (at " << ar.short_src << ":" << ar.currentline << ")"; } -- cgit v1.2.3