aboutsummaryrefslogtreecommitdiff
path: root/builtin/mainmenu/init.lua
diff options
context:
space:
mode:
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")