diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch')
-rw-r--r-- | pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch new file mode 100644 index 00000000000..8b64b3df801 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch @@ -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", |