From: nOOb3167 Date: Fri, 22 Dec 2017 10:35:06 +0000 (+0100) Subject: Fix error if setting menu_last_game is not a valid game X-Git-Tag: 5.0.0~671 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8037eda42c89dbc81e99199c2ae49309a9439ac3;p=oweals%2Fminetest.git Fix error if setting menu_last_game is not a valid game --- diff --git a/builtin/mainmenu/dlg_create_world.lua b/builtin/mainmenu/dlg_create_world.lua index 380f0654f..13061ee40 100644 --- a/builtin/mainmenu/dlg_create_world.lua +++ b/builtin/mainmenu/dlg_create_world.lua @@ -33,18 +33,21 @@ local function create_world_formspec(dialogdata) end end - local gamepath = core.get_game(gameidx).path - local gameconfig = Settings(gamepath.."/game.conf") - - local disallowed_mapgens = (gameconfig:get("disallowed_mapgens") or ""):split() - for key, value in pairs(disallowed_mapgens) do - disallowed_mapgens[key] = value:trim() - end + local game_by_gameidx = core.get_game(gameidx) + if game_by_gameidx ~= nil then + local gamepath = game_by_gameidx.path + local gameconfig = Settings(gamepath.."/game.conf") + + local disallowed_mapgens = (gameconfig:get("disallowed_mapgens") or ""):split() + for key, value in pairs(disallowed_mapgens) do + disallowed_mapgens[key] = value:trim() + end - if disallowed_mapgens then - for i = #mapgens, 1, -1 do - if table.indexof(disallowed_mapgens, mapgens[i]) > 0 then - table.remove(mapgens, i) + if disallowed_mapgens then + for i = #mapgens, 1, -1 do + if table.indexof(disallowed_mapgens, mapgens[i]) > 0 then + table.remove(mapgens, i) + end end end end