kde-gtk-config: set GSettings schemas path
This commit is contained in:
parent
81b770fc8c
commit
69ec9ed4e6
2 changed files with 24 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
|||
diff --git a/kded/gtkconfig.cpp b/kded/gtkconfig.cpp
|
||||
index 5303636..199c4d5 100644
|
||||
--- a/kded/gtkconfig.cpp
|
||||
+++ b/kded/gtkconfig.cpp
|
||||
@@ -41,6 +41,16 @@ GtkConfig::GtkConfig(QObject *parent, const QVariantList&) :
|
||||
kdeglobalsConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kdeglobals")))),
|
||||
kwinConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kwinrc"))))
|
||||
{
|
||||
+ // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
|
||||
+ // Normally this would be done by wrapGAppsHook, but this plugin
|
||||
+ // (shared object) cannot be wrapped.
|
||||
+ QByteArray xdgdata = qgetenv("XDG_DATA_DIRS");
|
||||
+ if (!xdgdata.isEmpty()) {
|
||||
+ xdgdata.push_front(":");
|
||||
+ }
|
||||
+ xdgdata.push_front(QByteArray(GSETTINGS_SCHEMAS_PATH));
|
||||
+ qputenv("XDG_DATA_DIRS", xdgdata);
|
||||
+
|
||||
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||
dbus.registerService(QStringLiteral("org.kde.GtkConfig"));
|
||||
dbus.registerObject(QStringLiteral("/GtkConfig"), this, QDBusConnection::ExportScriptableSlots);
|
|
@ -18,6 +18,9 @@ mkDerivation {
|
|||
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
|
||||
"-DGLIB_SCHEMAS_DIR=${gsettings-desktop-schemas.out}/"
|
||||
];
|
||||
# The gtkconfig KDED module will crash the daemon if the GSettings schemas
|
||||
# aren't found.
|
||||
patches = [ ./0001-gsettings-schemas-path.patch ];
|
||||
preConfigure = ''
|
||||
NIX_CFLAGS_COMPILE+=" -DGSETTINGS_SCHEMAS_PATH=\"$GSETTINGS_SCHEMAS_PATH\""
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue