diff --git a/builtin/mainmenu/dlg_register.lua b/builtin/mainmenu/dlg_register.lua index 1c142826cc..e1b0cac7d1 100644 --- a/builtin/mainmenu/dlg_register.lua +++ b/builtin/mainmenu/dlg_register.lua @@ -81,9 +81,7 @@ local function register_buttonhandler(this, fields) core.settings:set("name", fields.name) core.settings:set("address", gamedata.address) core.settings:set("remote_port", gamedata.port) - if core.settings:get_bool("remember_login") then - keyringmgr.set_login(gamedata.address, gamedata.port, fields.name, fields.password) - end + keyringmgr.set_login(gamedata.address, gamedata.port, fields.name, fields.password) core.start() end diff --git a/builtin/mainmenu/keyringmgr.lua b/builtin/mainmenu/keyringmgr.lua index d02e70a93e..d3d6e8267e 100644 --- a/builtin/mainmenu/keyringmgr.lua +++ b/builtin/mainmenu/keyringmgr.lua @@ -101,6 +101,10 @@ end -------------------------------------------------------------------------------- function keyringmgr.set_login(address, port, playername, password) + -- If the user doesn't want to remember logins, we completely skip the process + if not core.settings:get_bool("remember_login") then + return + end assert(type(port) == "number") local keyring = keyringmgr.get_keyring() diff --git a/builtin/mainmenu/tab_online.lua b/builtin/mainmenu/tab_online.lua index ad0802a840..5d2df5524f 100644 --- a/builtin/mainmenu/tab_online.lua +++ b/builtin/mainmenu/tab_online.lua @@ -574,9 +574,7 @@ local function main_button_handler(tabview, fields, name, tabdata) if server and server.address == gamedata.address and server.port == gamedata.port then - if core.settings:get_bool("remember_login") then - keyringmgr.set_login(server.address, server.port, gamedata.playername, gamedata.password) - end + keyringmgr.set_login(server.address, server.port, gamedata.playername, gamedata.password) serverlistmgr.add_favorite(server) gamedata.servername = server.name