From edb125837cec7e817e9bff1f43eeee374590c60c Mon Sep 17 00:00:00 2001
From: Craig Robbins <kde.psych@gmail.com>
Date: Fri, 28 Nov 2014 22:29:34 +1000
Subject: [PATCH] Fix regression with command line --go option

---
 src/main.cpp | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main.cpp b/src/main.cpp
index 23ce01073..2ebdeda20 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1818,8 +1818,17 @@ bool ClientLauncher::run(GameParams &game_params, const Settings &cmd_args)
 
 void ClientLauncher::init_args(GameParams &game_params, const Settings &cmd_args)
 {
+
+	skip_main_menu = cmd_args.getFlag("go");
+
+	// FIXME: This is confusing (but correct)
+
+	/* If world_path is set then override it unless skipping the main menu using
+	 * the --go command line param. Else, give preference to the address
+	 * supplied on the command line
+	 */
 	address = g_settings->get("address");
-	if (game_params.world_path != "")
+	if (game_params.world_path != "" && !skip_main_menu)
 		address = "";
 	else if (cmd_args.exists("address"))
 		address = cmd_args.get("address");
@@ -1828,8 +1837,6 @@ void ClientLauncher::init_args(GameParams &game_params, const Settings &cmd_args
 	if (cmd_args.exists("name"))
 		playername = cmd_args.get("name");
 
-	skip_main_menu = cmd_args.getFlag("go");
-
 	list_video_modes = cmd_args.getFlag("videomodes");
 
 	use_freetype = g_settings->getBool("freetype");
-- 
GitLab