Fail gracefully if main_menu_script has bad value (#10938)

Builtin: Move :close() before dofile
This commit is contained in:
Wuzzy 2021-02-19 18:59:48 +00:00 committed by GitHub
parent e441ab9675
commit c12e9cdcba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -39,9 +39,20 @@ if INIT == "game" then
assert(not core.get_http_api) assert(not core.get_http_api)
elseif INIT == "mainmenu" then elseif INIT == "mainmenu" then
local mm_script = core.settings:get("main_menu_script") local mm_script = core.settings:get("main_menu_script")
local custom_loaded = false
if mm_script and mm_script ~= "" then if mm_script and mm_script ~= "" then
dofile(mm_script) local testfile = io.open(mm_script, "r")
else if testfile then
testfile:close()
dofile(mm_script)
custom_loaded = true
core.log("info", "Loaded custom main menu script: "..mm_script)
else
core.log("error", "Failed to load custom main menu script: "..mm_script)
core.log("info", "Falling back to default main menu script")
end
end
if not custom_loaded then
dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua") dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua")
end end
elseif INIT == "async" then elseif INIT == "async" then