diff options
author | Bastien Bouclet | 2018-06-03 13:44:40 +0200 |
---|---|---|
committer | Bastien Bouclet | 2018-06-03 13:48:31 +0200 |
commit | 643ce81cf7cac87a102cd49a7e23a0d93724b3ce (patch) | |
tree | c8914cba082a9b05a53469df7a3cdb8d3683d15f | |
parent | 56d2bf77bae50bb1cb0eab01841cd1a9e7057f30 (diff) | |
download | scummvm-rg350-643ce81cf7cac87a102cd49a7e23a0d93724b3ce.tar.gz scummvm-rg350-643ce81cf7cac87a102cd49a7e23a0d93724b3ce.tar.bz2 scummvm-rg350-643ce81cf7cac87a102cd49a7e23a0d93724b3ce.zip |
BASE: Remove temporary targets when they fail to launch
Prevents invalid targets created from the command line to show up in the
launcher.
Fixes Trac#2788.
-rw-r--r-- | base/main.cpp | 11 | ||||
-rw-r--r-- | engines/advancedDetector.cpp | 12 |
2 files changed, 4 insertions, 19 deletions
diff --git a/base/main.cpp b/base/main.cpp index 385b8f35a9..be561f9766 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -193,13 +193,10 @@ static Common::Error runGame(const Plugin *plugin, OSystem &system, const Common dir.getPath().c_str() ); - // Autoadded is set only when no path was provided and - // the game is run from command line. - // - // Thus, we remove this garbage entry - // - // Fixes bug #1544799 - if (ConfMan.hasKey("autoadded")) { + // If a temporary target failed to launch, remove it from the configuration manager + // so it not visible in the launcher. + // Temporary targets are created when starting games from the command line using the game id. + if (ConfMan.hasKey("id_came_from_command_line")) { ConfMan.removeGameDomain(ConfMan.getActiveDomainName().c_str()); } diff --git a/engines/advancedDetector.cpp b/engines/advancedDetector.cpp index 3167dd9581..6f4efcfb57 100644 --- a/engines/advancedDetector.cpp +++ b/engines/advancedDetector.cpp @@ -236,18 +236,6 @@ Common::Error AdvancedMetaEngine::createInstance(OSystem *syst, Engine **engine) path = ConfMan.get("path"); } else { path = "."; - - // This situation may happen only when game was - // launched from a command line with wrong target and - // no path was provided. - // - // A dummy entry will get created and will keep game path - // We mark this entry, so it will not be added to the - // config file. - // - // Fixes bug #1544799 - ConfMan.setBool("autoadded", true); - warning("No path was provided. Assuming the data files are in the current directory"); } Common::FSNode dir(path); |