aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base/main.cpp11
-rw-r--r--engines/advancedDetector.cpp12
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);