aboutsummaryrefslogtreecommitdiff
path: root/builtin/mainmenu/init.lua
diff options
context:
space:
mode:
authorJude Melton-Houghton <jwmhjwmh@gmail.com>2022-12-03 11:35:38 -0500
committerGitHub <noreply@github.com>2022-12-03 11:35:38 -0500
commitb85831e389ae62316f2aac1e0b4e2cefb35b3ed7 (patch)
tree602631c59edfdceca9f9a1926be7187e0ae26f0e /builtin/mainmenu/init.lua
parent291c42ed57fb4bfebee2b304602e1d20435d0503 (diff)
downloadminetest-b85831e389ae62316f2aac1e0b4e2cefb35b3ed7.tar.xz
Fix startup after removing last game (#13015)
Diffstat (limited to 'builtin/mainmenu/init.lua')
-rw-r--r--builtin/mainmenu/init.lua16
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")