diff --git a/linphone-desktop/src/app/App.cpp b/linphone-desktop/src/app/App.cpp index 88d4e86e2..5ce659547 100644 --- a/linphone-desktop/src/app/App.cpp +++ b/linphone-desktop/src/app/App.cpp @@ -83,7 +83,7 @@ App::App (int &argc, char *argv[]) : SingleApplication(argc, argv, true) { // Try to use preferred locale. QString locale = ::Utils::coreStringToAppString( linphone::Config::newWithFactory( - Paths::getConfigFilePath(mParser.value("config")), "")->getString( + Paths::getConfigFilePath(mParser.value("config"), false), "")->getString( SettingsModel::UI_SECTION, "locale", "" ) ); diff --git a/linphone-desktop/src/app/paths/Paths.cpp b/linphone-desktop/src/app/paths/Paths.cpp index 54d7c857e..73afe1830 100644 --- a/linphone-desktop/src/app/paths/Paths.cpp +++ b/linphone-desktop/src/app/paths/Paths.cpp @@ -175,11 +175,12 @@ string Paths::getCapturesDirPath () { return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_CAPTURES); } -string Paths::getConfigFilePath (const QString &configPath) { - if (!configPath.isEmpty()) - return getWritableFilePath(QFileInfo(configPath).absoluteFilePath()); +string Paths::getConfigFilePath (const QString &configPath, bool writable) { + const QString &path = configPath.isEmpty() + ? getAppConfigFilePath() + : QFileInfo(configPath).absoluteFilePath(); - return getWritableFilePath(getAppConfigFilePath()); + return writable ? getWritableFilePath(path) : getReadableFilePath(path); } string Paths::getFactoryConfigFilePath () { diff --git a/linphone-desktop/src/app/paths/Paths.hpp b/linphone-desktop/src/app/paths/Paths.hpp index b96f30bcc..3a36c039c 100644 --- a/linphone-desktop/src/app/paths/Paths.hpp +++ b/linphone-desktop/src/app/paths/Paths.hpp @@ -36,7 +36,7 @@ namespace Paths { std::string getAvatarsDirPath (); std::string getCallHistoryFilePath (); std::string getCapturesDirPath (); - std::string getConfigFilePath (const QString &configPath = QString()); + std::string getConfigFilePath (const QString &configPath = QString(), bool writable = true); std::string getFactoryConfigFilePath (); std::string getFriendsListFilePath (); std::string getDownloadDirPath ();