diff options
author | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-12-03 11:35:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-03 11:35:38 -0500 |
commit | b85831e389ae62316f2aac1e0b4e2cefb35b3ed7 (patch) | |
tree | 602631c59edfdceca9f9a1926be7187e0ae26f0e /builtin/mainmenu/init.lua | |
parent | 291c42ed57fb4bfebee2b304602e1d20435d0503 (diff) | |
download | minetest-b85831e389ae62316f2aac1e0b4e2cefb35b3ed7.tar.xz |
Fix startup after removing last game (#13015)
Diffstat (limited to 'builtin/mainmenu/init.lua')
-rw-r--r-- | builtin/mainmenu/init.lua | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/builtin/mainmenu/init.lua b/builtin/mainmenu/init.lua index c3a28a570..e674ec915 100644 --- a/builtin/mainmenu/init.lua +++ b/builtin/mainmenu/init.lua @@ -86,9 +86,12 @@ local function init_globals() menudata.worldlist:add_sort_mechanism("alphabetic", sort_worlds_alphabetic) menudata.worldlist:set_sortmode("alphabetic") - if not core.settings:get("menu_last_game") then - local default_game = core.settings:get("default_game") or "minetest" - core.settings:set("menu_last_game", default_game) + local gameid = core.settings:get("menu_last_game") + local game = gameid and pkgmgr.find_by_gameid(gameid) + if not game then + gameid = core.settings:get("default_game") or "minetest" + game = pkgmgr.find_by_gameid(gameid) + core.settings:set("menu_last_game", gameid) end mm_game_theme.init() @@ -115,11 +118,8 @@ local function init_globals() -- In case the folder of the last selected game has been deleted, -- display "Minetest" as a header - if tv_main.current_tab == "local" then - local game = pkgmgr.find_by_gameid(core.settings:get("menu_last_game")) - if game == nil then - mm_game_theme.reset() - end + if tv_main.current_tab == "local" and not game then + mm_game_theme.reset() end ui.set_default("maintab") |