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);  | 
