1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 09:23:53 +00:00

Do not read openmw.cfg from global path if one was found in the local path

This commit is contained in:
scrawl 2015-12-02 19:21:10 +01:00
parent 77965501d4
commit 647bed7f40
2 changed files with 12 additions and 5 deletions

View file

@ -60,10 +60,14 @@ void ConfigurationManager::readConfiguration(boost::program_options::variables_m
loadConfig(mFixedPath.getUserConfigPath(), variables, description); loadConfig(mFixedPath.getUserConfigPath(), variables, description);
boost::program_options::notify(variables); boost::program_options::notify(variables);
loadConfig(mFixedPath.getLocalPath(), variables, description); // read either local or global config depending on type of installation
bool loaded = loadConfig(mFixedPath.getLocalPath(), variables, description);
boost::program_options::notify(variables); boost::program_options::notify(variables);
if (!loaded)
{
loadConfig(mFixedPath.getGlobalConfigPath(), variables, description); loadConfig(mFixedPath.getGlobalConfigPath(), variables, description);
boost::program_options::notify(variables); boost::program_options::notify(variables);
}
mSilent = silent; mSilent = silent;
} }
@ -126,7 +130,7 @@ void ConfigurationManager::processPaths(Files::PathContainer& dataDirs, bool cre
boost::bind(&boost::filesystem::path::empty, _1)), dataDirs.end()); boost::bind(&boost::filesystem::path::empty, _1)), dataDirs.end());
} }
void ConfigurationManager::loadConfig(const boost::filesystem::path& path, bool ConfigurationManager::loadConfig(const boost::filesystem::path& path,
boost::program_options::variables_map& variables, boost::program_options::variables_map& variables,
boost::program_options::options_description& description) boost::program_options::options_description& description)
{ {
@ -145,13 +149,16 @@ void ConfigurationManager::loadConfig(const boost::filesystem::path& path,
if (!mSilent) if (!mSilent)
std::cout << "done." << std::endl; std::cout << "done." << std::endl;
return true;
} }
else else
{ {
if (!mSilent) if (!mSilent)
std::cout << "failed." << std::endl; std::cout << "failed." << std::endl;
return false;
} }
} }
return false;
} }
const boost::filesystem::path& ConfigurationManager::getGlobalPath() const const boost::filesystem::path& ConfigurationManager::getGlobalPath() const

View file

@ -58,7 +58,7 @@ struct ConfigurationManager
typedef std::tr1::unordered_map<std::string, path_type_f> TokensMappingContainer; typedef std::tr1::unordered_map<std::string, path_type_f> TokensMappingContainer;
#endif #endif
void loadConfig(const boost::filesystem::path& path, bool loadConfig(const boost::filesystem::path& path,
boost::program_options::variables_map& variables, boost::program_options::variables_map& variables,
boost::program_options::options_description& description); boost::program_options::options_description& description);