Assure node meta is still present and usable.

Prevents a possible crash when a node creator trigger is
deferred while the node creator is removed.
This commit is contained in:
Auke Kok 2017-12-23 12:16:27 -08:00
parent 827ce89e27
commit 43bebe3a7f

View File

@ -1060,6 +1060,11 @@ minetest.register_node("mech:node_creator", {
end end
local n2 = minetest.deserialize(meta:get_string("node")) local n2 = minetest.deserialize(meta:get_string("node"))
if not n2 or not n2.name then
-- We were deferred, but the node was removed and
-- therefore meta was too.
return
end
minetest.swap_node(p2, n2) minetest.swap_node(p2, n2)
local m2 = minetest.deserialize(meta:get_string("meta")) local m2 = minetest.deserialize(meta:get_string("meta"))