Skip to content
Permalink
Browse files

Fix minetest.clear_* creating new LOCAL table instead of clearing the…

… existing one.

On calling clear_redistered_biomes the registered_biomes table is cleared
by creating a new empty table, but the pointer is not updated to point to
the new one. So after calling more register_biome, the registered_biome
table always contains 0 items, which is an error. Instead, the table is
cleared by removing all its items so the pointer (minetest.registered_*)
remains valid.
  • Loading branch information...
tomasbrod authored and kwolekr committed Apr 16, 2015
1 parent 068d561 commit 732eb72a0c4e2fb4632b0f42762d102e0d98dffa
Showing with 3 additions and 1 deletion.
  1. +3 −1 builtin/game/register.lua
@@ -398,7 +398,9 @@ local function make_registration_wrap(reg_fn_name, clear_fn_name)

local orig_clear_fn = core[clear_fn_name]
core[clear_fn_name] = function()
list = {}
for k in pairs(list) do
list[k] = nil
end
return orig_clear_fn()
end

0 comments on commit 732eb72

Please sign in to comment.
You can’t perform that action at this time.