gnome3.evolution-data-server: hardcode for DefaultSources gschema
This commit is contained in:
parent
a6d15b831c
commit
2530372351
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
|
|||||||
src = ./fix-paths.patch;
|
src = ./fix-paths.patch;
|
||||||
inherit tzdata;
|
inherit tzdata;
|
||||||
})
|
})
|
||||||
|
./hardcode-gsettings.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -41,6 +42,10 @@ stdenv.mkDerivation rec {
|
|||||||
"-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
|
"-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src/libedataserver/e-source-registry.c --subst-var-by ESD_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = gnome3.updateScript {
|
updateScript = gnome3.updateScript {
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
|
||||||
|
index 9c166dbaf..ef368f8d4 100644
|
||||||
|
--- a/src/libedataserver/e-source-registry.c
|
||||||
|
+++ b/src/libedataserver/e-source-registry.c
|
||||||
|
@@ -116,6 +116,8 @@ struct _ESourceRegistryPrivate {
|
||||||
|
GHashTable *sources;
|
||||||
|
GMutex sources_lock;
|
||||||
|
|
||||||
|
+ GSettingsSchemaSource *schema_source;
|
||||||
|
+ GSettingsSchema *schema;
|
||||||
|
GSettings *settings;
|
||||||
|
|
||||||
|
gboolean initialized;
|
||||||
|
@@ -1339,7 +1341,11 @@ source_registry_dispose (GObject *object)
|
||||||
|
if (priv->settings != NULL) {
|
||||||
|
g_signal_handlers_disconnect_by_data (priv->settings, object);
|
||||||
|
g_object_unref (priv->settings);
|
||||||
|
+ g_settings_schema_unref (priv->schema);
|
||||||
|
+ g_settings_schema_source_unref (priv->schema_source);
|
||||||
|
priv->settings = NULL;
|
||||||
|
+ priv->schema = NULL;
|
||||||
|
+ priv->schema_source = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Chain up to parent's finalize() method. */
|
||||||
|
@@ -1743,7 +1749,9 @@ e_source_registry_init (ESourceRegistry *registry)
|
||||||
|
|
||||||
|
g_mutex_init (®istry->priv->sources_lock);
|
||||||
|
|
||||||
|
- registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA);
|
||||||
|
+ GSettingsSchemaSource *schema_source = registry->priv->schema_source = g_settings_schema_source_new_from_directory ("@ESD_GSETTINGS_PATH@", g_settings_schema_source_get_default (), TRUE, NULL);
|
||||||
|
+ registry->priv->schema = g_settings_schema_source_lookup (schema_source, GSETTINGS_SCHEMA, FALSE);
|
||||||
|
+ registry->priv->settings = g_settings_new_full (registry->priv->schema, NULL, NULL);
|
||||||
|
|
||||||
|
g_signal_connect (
|
||||||
|
registry->priv->settings, "changed",
|
Loading…
x
Reference in New Issue
Block a user