forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -342,10 +342,9 @@ static QString generateSuffix(const QString &suffix)
|
|||||||
static inline Utils::optional<QString> defineExternalUserFileDir()
|
static inline Utils::optional<QString> defineExternalUserFileDir()
|
||||||
{
|
{
|
||||||
static const char userFilePathVariable[] = "QTC_USER_FILE_PATH";
|
static const char userFilePathVariable[] = "QTC_USER_FILE_PATH";
|
||||||
static QString userFilePath = QFile::decodeName(qgetenv(userFilePathVariable));
|
if (Q_LIKELY(!qEnvironmentVariableIsSet(userFilePathVariable)))
|
||||||
if (userFilePath.isEmpty())
|
return nullopt;
|
||||||
return QString();
|
const QFileInfo fi(QFile::decodeName(qgetenv(userFilePathVariable)));
|
||||||
const QFileInfo fi(userFilePath);
|
|
||||||
const QString path = fi.absoluteFilePath();
|
const QString path = fi.absoluteFilePath();
|
||||||
if (fi.isDir() || fi.isSymLink())
|
if (fi.isDir() || fi.isSymLink())
|
||||||
return path;
|
return path;
|
||||||
@@ -395,7 +394,7 @@ static FileName externalUserFilePath(const Utils::FileName &projectFilePath, con
|
|||||||
FileName result;
|
FileName result;
|
||||||
static const optional<QString> externalUserFileDir = defineExternalUserFileDir();
|
static const optional<QString> externalUserFileDir = defineExternalUserFileDir();
|
||||||
|
|
||||||
if (!externalUserFileDir) {
|
if (externalUserFileDir) {
|
||||||
// Recreate the relative project file hierarchy under the shared directory.
|
// Recreate the relative project file hierarchy under the shared directory.
|
||||||
// PersistentSettingsWriter::write() takes care of creating the path.
|
// PersistentSettingsWriter::write() takes care of creating the path.
|
||||||
result = FileName::fromString(externalUserFileDir.value());
|
result = FileName::fromString(externalUserFileDir.value());
|
||||||
|
Reference in New Issue
Block a user