diff options
author | Eugene Sandulenko | 2009-05-20 21:00:52 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2009-05-20 21:00:52 +0000 |
commit | 8e4b31f5220d73a211a2e822c27989fd96b65030 (patch) | |
tree | d56c46b59165289fd79f038a3c5406cab05a1a32 | |
parent | 43f58b2869f97c055f56aa14f6eb4153d272b2b3 (diff) | |
download | scummvm-rg350-8e4b31f5220d73a211a2e822c27989fd96b65030.tar.gz scummvm-rg350-8e4b31f5220d73a211a2e822c27989fd96b65030.tar.bz2 scummvm-rg350-8e4b31f5220d73a211a2e822c27989fd96b65030.zip |
Fix bug #1544799: "ALL: Engine creates launcher entry when failing to launch"
svn-id: r40745
-rw-r--r-- | base/main.cpp | 11 | ||||
-rw-r--r-- | engines/advancedDetector.cpp | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/base/main.cpp b/base/main.cpp index 1c14e20f76..e45af96c12 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -144,6 +144,17 @@ static Common::Error runGame(const EnginePlugin *plugin, OSystem &system, const ConfMan.getActiveDomainName().c_str(), 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")) { + ConfMan.removeGameDomain(ConfMan.getActiveDomainName().c_str()); + } + return err; } diff --git a/engines/advancedDetector.cpp b/engines/advancedDetector.cpp index 11747b26a2..8b752cac85 100644 --- a/engines/advancedDetector.cpp +++ b/engines/advancedDetector.cpp @@ -244,6 +244,18 @@ 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.set("autoadded", "true"); + warning("No path was provided. Assuming the data files are in the current directory"); } Common::FSNode dir(path); |