Changed: use bundle resource if default cfg is not found

This commit is contained in:
vl 2011-02-14 18:03:49 +01:00
parent 5b59e4f95b
commit 04d082ced8

View file

@ -577,12 +577,19 @@ void checkDriverDepth ()
static std::string replaceApplicationDirToken(const std::string &dir) static std::string replaceApplicationDirToken(const std::string &dir)
{ {
#ifdef NL_OS_MAC
// if client_default.cfg is not in current directory, and it's not an absolute path, use application default directory
if (!CFile::isExists("client_default.cfg") && dir.size()>0 && dir[0]!='/')
{
return getAppBundlePath() + "/Contents/Resources/" + dir;
}
#else
static const std::string token = "<ApplicationDir>"; static const std::string token = "<ApplicationDir>";
std::string::size_type pos = dir.find(token); std::string::size_type pos = dir.find(token);
if (pos != std::string::npos) if (pos != std::string::npos)
return dir.substr(0, pos) + getAppBundlePath() + dir.substr(pos + token.length()); return dir.substr(0, pos) + getAppBundlePath() + dir.substr(pos + token.length());
#endif
// preDataPath = getAppBundlePath() + "/Contents/Resources/" + preDataPath; // preDataPath = getAppBundlePath() + "/Contents/Resources/" + preDataPath;