mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 07:00:43 +00:00
Merge pull request #83245 from worldofpeace/qgnomeplatform-patch
qgnomeplatform: hardcode gsettings schemas
This commit is contained in:
commit
e6afda424d
|
@ -1,4 +1,16 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake, qtx11extras, pantheon }:
|
||||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, gtk3
|
||||
, glib
|
||||
, qtbase
|
||||
, qmake
|
||||
, qtx11extras
|
||||
, pantheon
|
||||
, substituteAll
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qgnomeplatform";
|
||||
|
@ -11,12 +23,21 @@ mkDerivation rec {
|
|||
sha256 = "0fb1mzs6sx76bl7f0z2xhc0jq6y1c55jrw1v3na8577is6g5ji0a";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Hardcode GSettings schema path to avoid crashes from missing schemas
|
||||
(substituteAll {
|
||||
src = ./hardcode-gsettings.patch;
|
||||
gds_gsettings_path = glib.getSchemaPath gsettings-desktop-schemas;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
qtbase
|
||||
qtx11extras
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
diff --git a/common/gnomehintssettings.cpp b/common/gnomehintssettings.cpp
|
||||
index 9860e57..40fa6ec 100644
|
||||
--- a/common/gnomehintssettings.cpp
|
||||
+++ b/common/gnomehintssettings.cpp
|
||||
@@ -80,9 +80,17 @@ void gtkMessageHandler(const gchar *log_domain,
|
||||
GnomeHintsSettings::GnomeHintsSettings()
|
||||
: QObject(0)
|
||||
, m_usePortal(checkUsePortalSupport())
|
||||
- , m_gnomeDesktopSettings(g_settings_new("org.gnome.desktop.wm.preferences"))
|
||||
- , m_settings(g_settings_new("org.gnome.desktop.interface"))
|
||||
{
|
||||
+ g_autoptr(GSettingsSchemaSource) schemaSource = nullptr;
|
||||
+ g_autoptr(GSettingsSchema) gnomeDesktopSchema = nullptr;
|
||||
+ g_autoptr(GSettingsSchema) settingsSchema = nullptr;
|
||||
+
|
||||
+ schemaSource = g_settings_schema_source_new_from_directory("@gds_gsettings_path@", g_settings_schema_source_get_default(), true, nullptr);
|
||||
+ gnomeDesktopSchema = g_settings_schema_source_lookup(schemaSource, "org.gnome.desktop.wm.preferences", false);
|
||||
+ m_gnomeDesktopSettings = g_settings_new_full(gnomeDesktopSchema, nullptr, nullptr);
|
||||
+ settingsSchema = g_settings_schema_source_lookup(schemaSource, "org.gnome.desktop.interface", false);
|
||||
+ m_settings = g_settings_new_full(settingsSchema, nullptr, nullptr);
|
||||
+
|
||||
gtk_init(nullptr, nullptr);
|
||||
|
||||
// Set log handler to suppress false GtkDialog warnings
|
Loading…
Reference in a new issue