summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2021-04-09 22:36:10 +0200
committerGitHub <noreply@github.com>2021-04-09 22:36:10 +0200
commit0abc1e98edb87b2e23eecccfd6b1393ac7fb4f56 (patch)
treef67a5afc1872850637c3e3c6bb698d36ec4f51b5 /builtin
parenta0e7a4a0df8fe49907abad2e28f9709d571386e1 (diff)
downloadminetest-0abc1e98edb87b2e23eecccfd6b1393ac7fb4f56.tar.gz
minetest-0abc1e98edb87b2e23eecccfd6b1393ac7fb4f56.tar.bz2
minetest-0abc1e98edb87b2e23eecccfd6b1393ac7fb4f56.zip
Fix server favorites not saving when client/serverlist/ doesn't exist already (#11152)
Diffstat (limited to 'builtin')
-rw-r--r--builtin/mainmenu/serverlistmgr.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/mainmenu/serverlistmgr.lua b/builtin/mainmenu/serverlistmgr.lua
index 9876d8ac5..964d0c584 100644
--- a/builtin/mainmenu/serverlistmgr.lua
+++ b/builtin/mainmenu/serverlistmgr.lua
@@ -90,8 +90,11 @@ function serverlistmgr.sync()
end
--------------------------------------------------------------------------------
-local function get_favorites_path()
+local function get_favorites_path(folder)
local base = core.get_user_path() .. DIR_DELIM .. "client" .. DIR_DELIM .. "serverlist" .. DIR_DELIM
+ if folder then
+ return base
+ end
return base .. core.settings:get("serverlist_file")
end
@@ -103,9 +106,8 @@ local function save_favorites(favorites)
core.settings:set("serverlist_file", filename:sub(1, #filename - 4) .. ".json")
end
- local path = get_favorites_path()
- core.create_dir(path)
- core.safe_file_write(path, core.write_json(favorites))
+ assert(core.create_dir(get_favorites_path(true)))
+ core.safe_file_write(get_favorites_path(), core.write_json(favorites))
end
--------------------------------------------------------------------------------