From e9e77e0c690af7589089c97eebdc698ad8d5d322 Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Mon, 24 Sep 2018 12:53:30 +0200 Subject: Fix environment variables for XDG paths not being recognized A QProcessEnvironment was used, which is empty by default. Instead of using QProcessEnvironement::systemEnvironment I switched to qgetenv(...) . Task-number: QTIFW-1043 Change-Id: I0bc31641c8ac175254664c61cdb24bf9051d8345 Reviewed-by: Niels Weber --- src/libs/installer/createdesktopentryoperation.cpp | 8 ++++---- src/libs/installer/installiconsoperation.cpp | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libs/installer/createdesktopentryoperation.cpp b/src/libs/installer/createdesktopentryoperation.cpp index ed55cdbf2..d2e71b14f 100644 --- a/src/libs/installer/createdesktopentryoperation.cpp +++ b/src/libs/installer/createdesktopentryoperation.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include using namespace QInstaller; @@ -50,10 +49,11 @@ QString CreateDesktopEntryOperation::absoluteFileName() if (hasValue(QLatin1String("directory"))) return QDir(value(QLatin1String("directory")).toString()).absoluteFilePath(filename); - const QProcessEnvironment env; - QStringList XDG_DATA_DIRS = env.value(QLatin1String("XDG_DATA_DIRS")).split(QLatin1Char(':'), + QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS")) + .split(QLatin1Char(':'), QString::SkipEmptyParts); - QStringList XDG_DATA_HOME = env.value(QLatin1String("XDG_DATA_HOME")).split(QLatin1Char(':'), + QStringList XDG_DATA_HOME = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME")) + .split(QLatin1Char(':'), QString::SkipEmptyParts); XDG_DATA_DIRS.push_back(QLatin1String("/usr/share")); // default path diff --git a/src/libs/installer/installiconsoperation.cpp b/src/libs/installer/installiconsoperation.cpp index ecd21be86..4b8346e18 100644 --- a/src/libs/installer/installiconsoperation.cpp +++ b/src/libs/installer/installiconsoperation.cpp @@ -33,7 +33,6 @@ #include #include #include -#include using namespace QInstaller; @@ -43,8 +42,8 @@ QString InstallIconsOperation::targetDirectory() if (hasValue(QLatin1String("targetdirectory"))) return value(QLatin1String("targetdirectory")).toString(); - const QProcessEnvironment env; - QStringList XDG_DATA_DIRS = env.value(QLatin1String("XDG_DATA_DIRS")).split(QLatin1Char(':'), + QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS")) + .split(QLatin1Char(':'), QString::SkipEmptyParts); XDG_DATA_DIRS.push_back(QLatin1String("/usr/share/pixmaps")); // default path XDG_DATA_DIRS.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share/icons"))); // default path -- cgit v1.2.3