aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0006-qtbase-gtk3.patch
blob: 48f4c9b3f99ec298d00228c21bc884db45571114 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 7a9f4f875053aed8ab387161eea623bf8325cfa8 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:35:33 -0500
Subject: [PATCH 06/11] qtbase-gtk3

---
 src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
index 860fc3a26e..8cd4663d49 100644
--- a/src/plugins/platformthemes/gtk3/main.cpp
+++ b/src/plugins/platformthemes/gtk3/main.cpp
@@ -39,6 +39,7 @@
 
 #include <qpa/qplatformthemeplugin.h>
 #include "qgtk3theme.h"
+#include <QFile>
 
 QT_BEGIN_NAMESPACE
 
@@ -54,8 +55,22 @@ public:
 QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
 {
     Q_UNUSED(params);
-    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
+
+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
+#endif
+
+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
+#endif
+
         return new QGtk3Theme;
+    }
 
     return nullptr;
 }
-- 
2.25.4