]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - builtin/mainmenu/dlg_create_world.lua
Fix error if setting menu_last_game is not a valid game
[dragonfireclient.git] / builtin / mainmenu / dlg_create_world.lua
index 380f0654f5802f1e011cbf5d10f9f3c501882ede..13061ee40d67903990865928b86d4b8c2cc9f9cb 100644 (file)
@@ -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