Paste P288

Masterwork From Distant Lands
ActivePublic

Authored by sitter on Jan 15 2019, 12:02 PM.
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 4119012d85..97ff7b1a51 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -171,6 +171,26 @@ void QLibrarySettings::load()
}
}
+static QSettings *__qli_findXDGConfig()
+{
+ // https://bugreports.qt.io/browse/QTBUG-14150
+ if (qgetenv("SNAP").isEmpty())
+ return 0;
+ const QString configHome = qEnvironmentVariable("XDG_CONFIG_HOME");
+ const QString configDirs = qEnvironmentVariable("XDG_CONFIG_DIRS");
+ const QString pathVars[] = { configHome, configDirs };
+ for (const QString &paths : pathVars) {
+ for (const QString &path : paths.split(QChar(':'))) {
+ if (path.isEmpty())
+ continue;
+ const QString qtconfig = path + QStringLiteral("/qt.conf");
+ if (QFile::exists(qtconfig))
+ return new QSettings(qtconfig, QSettings::IniFormat);
+ }
+ }
+ return 0;
+}
+
QSettings *QLibraryInfoPrivate::findConfiguration()
{
#ifdef QT_BUILD_QMAKE
@@ -203,7 +223,7 @@ QSettings *QLibraryInfoPrivate::findConfiguration()
return new QSettings(qtconfig, QSettings::IniFormat);
}
#endif
- return 0; //no luck
+ return __qli_findXDGConfig(); //no luck
}
#endif // settings
sitter edited the content of this paste. (Show Details)Jan 15 2019, 12:02 PM
sitter changed the title of this paste from untitled to Masterwork From Distant Lands.