diff options
author | red-001 <red-001@outlook.ie> | 2017-05-20 15:45:49 +0100 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-05-20 16:45:49 +0200 |
commit | 772944daf69ab463568fbbf35a9011e4c8e6c44a (patch) | |
tree | 9cac5a5ed6523a07f11980b497642fd78b26453c /src/script/common | |
parent | 7e185068c4f9fb3253006a8d8a2aceea3f8000a1 (diff) | |
download | minetest-772944daf69ab463568fbbf35a9011e4c8e6c44a.tar.gz minetest-772944daf69ab463568fbbf35a9011e4c8e6c44a.tar.bz2 minetest-772944daf69ab463568fbbf35a9011e4c8e6c44a.zip |
Fix CSM crash (#5779)
Caused by dc5bc6c and them made worse by 5ebf8f9
Diffstat (limited to 'src/script/common')
-rw-r--r-- | src/script/common/c_content.cpp | 12 | ||||
-rw-r--r-- | src/script/common/c_content.h | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 8696ad7cb..7eb1d094b 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -1441,7 +1441,7 @@ void read_json_value(lua_State *L, Json::Value &root, int index, u8 recursion) lua_pop(L, 1); // Pop value } -void push_pointed_thing(lua_State *L, const PointedThing &pointed) +void push_pointed_thing(lua_State *L, const PointedThing &pointed, bool csm) { lua_newtable(L); if (pointed.type == POINTEDTHING_NODE) { @@ -1454,8 +1454,14 @@ void push_pointed_thing(lua_State *L, const PointedThing &pointed) } else if (pointed.type == POINTEDTHING_OBJECT) { lua_pushstring(L, "object"); lua_setfield(L, -2, "type"); - push_objectRef(L, pointed.object_id); - lua_setfield(L, -2, "ref"); + + if (csm) { + lua_pushinteger(L, pointed.object_id); + lua_setfield(L, -2, "id"); + } else { + push_objectRef(L, pointed.object_id); + lua_setfield(L, -2, "ref"); + } } else { lua_pushstring(L, "nothing"); lua_setfield(L, -2, "type"); diff --git a/src/script/common/c_content.h b/src/script/common/c_content.h index 219c5eb7c..28d8b1e8c 100644 --- a/src/script/common/c_content.h +++ b/src/script/common/c_content.h @@ -164,7 +164,7 @@ bool push_json_value (lua_State *L, void read_json_value (lua_State *L, Json::Value &root, int index, u8 recursion = 0); -void push_pointed_thing (lua_State *L, const PointedThing &pointed); +void push_pointed_thing (lua_State *L, const PointedThing &pointed, bool csm = false); void push_objectRef (lua_State *L, const u16 id); |