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