aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-07-04 11:06:24 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-07-10 08:13:11 +0000
commit955105b7904bc1417797fe1e200ec13aa9d82ff3 (patch)
tree290cb6b385bde260b027034756dbb85c28fd6637
parentedcb8efb8bdbfa820f0580965d9a134a703d00b6 (diff)
ProjectExplorer: Fix handling of the QTC_USER_FILE_PATH variable
Add a quick check whether the variable is set and return nullopt in that case. Flip the check in the below code. Change-Id: I655662f2940946150165107a66c003a3a4bc025d Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/plugins/projectexplorer/userfileaccessor.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/plugins/projectexplorer/userfileaccessor.cpp b/src/plugins/projectexplorer/userfileaccessor.cpp
index 17ab86214e..8b40e798c3 100644
--- a/src/plugins/projectexplorer/userfileaccessor.cpp
+++ b/src/plugins/projectexplorer/userfileaccessor.cpp
@@ -342,10 +342,9 @@ static QString generateSuffix(const QString &suffix)
static inline Utils::optional<QString> defineExternalUserFileDir()
{
static const char userFilePathVariable[] = "QTC_USER_FILE_PATH";
- static QString userFilePath = QFile::decodeName(qgetenv(userFilePathVariable));
- if (userFilePath.isEmpty())
- return QString();
- const QFileInfo fi(userFilePath);
+ if (Q_LIKELY(!qEnvironmentVariableIsSet(userFilePathVariable)))
+ return nullopt;
+ const QFileInfo fi(QFile::decodeName(qgetenv(userFilePathVariable)));
const QString path = fi.absoluteFilePath();
if (fi.isDir() || fi.isSymLink())
return path;
@@ -395,7 +394,7 @@ static FileName externalUserFilePath(const Utils::FileName &projectFilePath, con
FileName result;
static const optional<QString> externalUserFileDir = defineExternalUserFileDir();
- if (!externalUserFileDir) {
+ if (externalUserFileDir) {
// Recreate the relative project file hierarchy under the shared directory.
// PersistentSettingsWriter::write() takes care of creating the path.
result = FileName::fromString(externalUserFileDir.value());