diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/commandLine.cpp | 16 |
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()); } |