aboutsummaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/commandLine.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index b273e50f81..985ef8b3cb 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -642,7 +642,23 @@ bool processSettings(Common::String &command, Common::StringMap &settings) {
if (!command.empty()) {
GameDescriptor gd = Base::findGame(command);
if (ConfMan.hasGameDomain(command) || !gd.gameid().empty()) {
+ bool idCameFromCommandLine = false;
+
+ // WORKAROUND: Fix for bug #1719463: "DETECTOR: Launching
+ // undefined target adds launcher entry"
+ //
+ // We designate gameids which come strictly from command line
+ // so AdvancedDetector will not save config file with invalid
+ // gameid in case target autoupgrade was performed
+ if (!ConfMan.hasGameDomain(command)) {
+ idCameFromCommandLine = true;
+ }
+
ConfMan.setActiveDomain(command);
+
+ if (idCameFromCommandLine)
+ ConfMan.set("id_came_from_command_line", "1");
+
} else {
usage("Unrecognized game target '%s'", command.c_str());
}