From 2607b97b4f2b41767d7a010e9376d3e7f578cb71 Mon Sep 17 00:00:00 2001 From: est31 Date: Tue, 15 Mar 2016 08:55:45 +0100 Subject: [PATCH] Fix two reconnect bugs Fix two bugs related to the reconnect feature introduced by commit 3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7 "Optional reconnect functionality" 1. Set the password to the stored one Before, we have done the reconnect attempt with a cleared password, so using the feature would only work if you had an empty password. Thanks to @orwell96 for reporting the bug. 2. Reset the reconnect_requested flag after its use the_game only writes to the reconect_requested flag if it sets it to true. It never sets it to false. If the flag is not reset after its use, all "reset"s to the main menu will look like the server had requested a reconnect. --- src/client/clientlauncher.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 357d98b4d..404a16310 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -201,6 +201,9 @@ bool ClientLauncher::run(GameParams &game_params, const Settings &cmd_args) bool game_has_run = launch_game(error_message, reconnect_requested, game_params, cmd_args); + // Reset the reconnect_requested flag + reconnect_requested = false; + // If skip_main_menu, we only want to startup once if (skip_main_menu && !first_loop) break; @@ -336,6 +339,7 @@ bool ClientLauncher::launch_game(std::string &error_message, MainMenuData menudata; menudata.address = address; menudata.name = playername; + menudata.password = password; menudata.port = itos(game_params.socket_port); menudata.script_data.errormessage = error_message; menudata.script_data.reconnect_requested = reconnect_requested;