1 diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c
2 index 5e65ec8..2cae29d 100644
3 --- a/src/addressbook/libebook/e-book-client.c
4 +++ b/src/addressbook/libebook/e-book-client.c
5 @@ -1924,7 +1924,18 @@ e_book_client_get_self (ESourceRegistry *registry,
7 *out_client = book_client;
9 - settings = g_settings_new (SELF_UID_PATH_ID);
11 + g_autoptr(GSettingsSchemaSource) schema_source;
12 + g_autoptr(GSettingsSchema) schema;
13 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
14 + g_settings_schema_source_get_default(),
17 + schema = g_settings_schema_source_lookup(schema_source,
20 + settings = g_settings_new_full(schema, NULL, NULL);
22 uid = g_settings_get_string (settings, SELF_UID_KEY);
23 g_object_unref (settings);
25 @@ -1992,7 +2003,18 @@ e_book_client_set_self (EBookClient *client,
26 g_return_val_if_fail (
27 e_contact_get_const (contact, E_CONTACT_UID) != NULL, FALSE);
29 - settings = g_settings_new (SELF_UID_PATH_ID);
31 + g_autoptr(GSettingsSchemaSource) schema_source;
32 + g_autoptr(GSettingsSchema) schema;
33 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
34 + g_settings_schema_source_get_default(),
37 + schema = g_settings_schema_source_lookup(schema_source,
40 + settings = g_settings_new_full(schema, NULL, NULL);
42 g_settings_set_string (
43 settings, SELF_UID_KEY,
44 e_contact_get_const (contact, E_CONTACT_UID));
45 @@ -2028,8 +2050,20 @@ e_book_client_is_self (EContact *contact)
46 * unfortunately the API doesn't allow that.
48 g_mutex_lock (&mutex);
50 - settings = g_settings_new (SELF_UID_PATH_ID);
53 + g_autoptr(GSettingsSchemaSource) schema_source;
54 + g_autoptr(GSettingsSchema) schema;
55 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
56 + g_settings_schema_source_get_default(),
59 + schema = g_settings_schema_source_lookup(schema_source,
62 + settings = g_settings_new_full(schema, NULL, NULL);
65 uid = g_settings_get_string (settings, SELF_UID_KEY);
66 g_mutex_unlock (&mutex);
68 diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c
69 index e85a56b..59d3fe2 100644
70 --- a/src/addressbook/libebook/e-book.c
71 +++ b/src/addressbook/libebook/e-book.c
72 @@ -2587,7 +2587,18 @@ e_book_get_self (ESourceRegistry *registry,
76 - settings = g_settings_new (SELF_UID_PATH_ID);
78 + g_autoptr(GSettingsSchemaSource) schema_source;
79 + g_autoptr(GSettingsSchema) schema;
80 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
81 + g_settings_schema_source_get_default(),
84 + schema = g_settings_schema_source_lookup(schema_source,
87 + settings = g_settings_new_full(schema, NULL, NULL);
89 uid = g_settings_get_string (settings, SELF_UID_KEY);
90 g_object_unref (settings);
92 @@ -2642,7 +2653,18 @@ e_book_set_self (EBook *book,
93 g_return_val_if_fail (E_IS_BOOK (book), FALSE);
94 g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
96 - settings = g_settings_new (SELF_UID_PATH_ID);
98 + g_autoptr(GSettingsSchemaSource) schema_source;
99 + g_autoptr(GSettingsSchema) schema;
100 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
101 + g_settings_schema_source_get_default(),
104 + schema = g_settings_schema_source_lookup(schema_source,
107 + settings = g_settings_new_full(schema, NULL, NULL);
109 g_settings_set_string (
110 settings, SELF_UID_KEY,
111 e_contact_get_const (contact, E_CONTACT_UID));
112 @@ -2670,7 +2692,18 @@ e_book_is_self (EContact *contact)
114 g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
116 - settings = g_settings_new (SELF_UID_PATH_ID);
118 + g_autoptr(GSettingsSchemaSource) schema_source;
119 + g_autoptr(GSettingsSchema) schema;
120 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
121 + g_settings_schema_source_get_default(),
124 + schema = g_settings_schema_source_lookup(schema_source,
127 + settings = g_settings_new_full(schema, NULL, NULL);
129 uid = g_settings_get_string (settings, SELF_UID_KEY);
130 g_object_unref (settings);
132 diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
133 index 3ab8908..6c4b210 100644
134 --- a/src/addressbook/libedata-book/e-book-meta-backend.c
135 +++ b/src/addressbook/libedata-book/e-book-meta-backend.c
136 @@ -146,7 +146,18 @@ ebmb_is_power_saver_enabled (void)
138 gboolean enabled = FALSE;
140 - settings = g_settings_new ("org.gnome.evolution-data-server");
142 + g_autoptr(GSettingsSchemaSource) schema_source;
143 + g_autoptr(GSettingsSchema) schema;
144 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
145 + g_settings_schema_source_get_default(),
148 + schema = g_settings_schema_source_lookup(schema_source,
149 + "org.gnome.evolution-data-server",
151 + settings = g_settings_new_full(schema, NULL, NULL);
154 if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
155 GPowerProfileMonitor *power_monitor;
156 diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
157 index 047fb97..960f44c 100644
158 --- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
159 +++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
160 @@ -1333,7 +1333,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
161 (GDestroyNotify) g_free,
162 (GDestroyNotify) contact_record_free);
164 - cbc->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
166 + g_autoptr(GSettingsSchemaSource) schema_source;
167 + g_autoptr(GSettingsSchema) schema;
168 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
169 + g_settings_schema_source_get_default(),
172 + schema = g_settings_schema_source_lookup(schema_source,
173 + "org.gnome.evolution-data-server.calendar",
175 + cbc->priv->settings = g_settings_new_full(schema, NULL, NULL);
177 cbc->priv->notifyid = 0;
178 cbc->priv->update_alarms_id = 0;
179 cbc->priv->alarm_enabled = FALSE;
180 diff --git a/src/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
181 index 2525856..7ecc1a8 100644
182 --- a/src/calendar/backends/file/e-cal-backend-file.c
183 +++ b/src/calendar/backends/file/e-cal-backend-file.c
184 @@ -3682,7 +3682,20 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
188 - settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
190 + g_autoptr(GSettingsSchemaSource) schema_source;
191 + g_autoptr(GSettingsSchema) schema;
192 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
193 + g_settings_schema_source_get_default(),
196 + schema = g_settings_schema_source_lookup(schema_source,
197 + "org.gnome.evolution-data-server.calendar",
199 + settings = g_settings_new_full(schema,
203 can_delete = g_settings_get_boolean (settings, "delete-meeting-on-decline");
204 g_clear_object (&settings);
206 diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
207 index a83d3d3..dc7acac 100644
208 --- a/src/calendar/libecal/e-reminder-watcher.c
209 +++ b/src/calendar/libecal/e-reminder-watcher.c
210 @@ -2826,8 +2826,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
212 watcher->priv = e_reminder_watcher_get_instance_private (watcher);
213 watcher->priv->cancellable = g_cancellable_new ();
214 - watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
215 - watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
217 + g_autoptr(GSettingsSchemaSource) schema_source;
218 + g_autoptr(GSettingsSchema) schema;
219 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
220 + g_settings_schema_source_get_default(),
223 + schema = g_settings_schema_source_lookup(schema_source,
224 + "org.gnome.evolution-data-server.calendar",
226 + watcher->priv->settings = g_settings_new_full(schema, NULL,
230 + g_autoptr(GSettingsSchemaSource) schema_source;
231 + g_autoptr(GSettingsSchema) schema;
232 + schema_source = g_settings_schema_source_new_from_directory("@GDS@",
233 + g_settings_schema_source_get_default(),
236 + schema = g_settings_schema_source_lookup(schema_source,
237 + "org.gnome.desktop.interface",
239 + watcher->priv->desktop_settings = g_settings_new_full(schema,
243 if (watcher->priv->desktop_settings) {
244 g_signal_connect_object (
245 watcher->priv->desktop_settings,
246 diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
247 index f19ab22..abd3263 100644
248 --- a/src/calendar/libedata-cal/e-cal-meta-backend.c
249 +++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
250 @@ -158,7 +158,18 @@ ecmb_is_power_saver_enabled (void)
252 gboolean enabled = FALSE;
254 - settings = g_settings_new ("org.gnome.evolution-data-server");
256 + g_autoptr(GSettingsSchemaSource) schema_source;
257 + g_autoptr(GSettingsSchema) schema;
258 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
259 + g_settings_schema_source_get_default(),
262 + schema = g_settings_schema_source_lookup(schema_source,
263 + "org.gnome.evolution-data-server",
265 + settings = g_settings_new_full(schema, NULL, NULL);
268 if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
269 GPowerProfileMonitor *power_monitor;
270 @@ -2629,7 +2640,20 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
274 - settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
276 + g_autoptr(GSettingsSchemaSource) schema_source;
277 + g_autoptr(GSettingsSchema) schema;
278 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
279 + g_settings_schema_source_get_default(),
282 + schema = g_settings_schema_source_lookup(schema_source,
283 + "org.gnome.evolution-data-server.calendar",
285 + settings = g_settings_new_full(schema,
289 is_declined = g_settings_get_boolean (settings, "delete-meeting-on-decline");
290 g_clear_object (&settings);
292 diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
293 index d5a0823..2ae03f8 100644
294 --- a/src/camel/camel-cipher-context.c
295 +++ b/src/camel/camel-cipher-context.c
296 @@ -1631,7 +1631,18 @@ camel_cipher_can_load_photos (void)
298 gboolean load_photos;
300 - settings = g_settings_new ("org.gnome.evolution-data-server");
302 + g_autoptr(GSettingsSchemaSource) schema_source;
303 + g_autoptr(GSettingsSchema) schema;
304 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
305 + g_settings_schema_source_get_default(),
308 + schema = g_settings_schema_source_lookup(schema_source,
309 + "org.gnome.evolution-data-server",
311 + settings = g_settings_new_full(schema, NULL, NULL);
313 load_photos = g_settings_get_boolean (settings, "camel-cipher-load-photos");
314 g_clear_object (&settings);
316 diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
317 index 4c10de7..6c0ab5e 100644
318 --- a/src/camel/camel-gpg-context.c
319 +++ b/src/camel/camel-gpg-context.c
320 @@ -744,7 +744,18 @@ gpg_ctx_get_executable_name (void)
324 - settings = g_settings_new ("org.gnome.evolution-data-server");
326 + g_autoptr(GSettingsSchemaSource) schema_source;
327 + g_autoptr(GSettingsSchema) schema;
328 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
329 + g_settings_schema_source_get_default(),
332 + schema = g_settings_schema_source_lookup(schema_source,
333 + "org.gnome.evolution-data-server",
335 + settings = g_settings_new_full(schema, NULL, NULL);
337 path = g_settings_get_string (settings, "camel-gpg-binary");
338 g_clear_object (&settings);
340 diff --git a/src/camel/camel-utils.c b/src/camel/camel-utils.c
341 index e61160c..b6553a4 100644
342 --- a/src/camel/camel-utils.c
343 +++ b/src/camel/camel-utils.c
344 @@ -362,7 +362,19 @@ void
345 _camel_utils_initialize (void)
347 G_LOCK (mi_user_headers);
348 - mi_user_headers_settings = g_settings_new ("org.gnome.evolution-data-server");
350 + g_autoptr(GSettingsSchemaSource) schema_source;
351 + g_autoptr(GSettingsSchema) schema;
352 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
353 + g_settings_schema_source_get_default(),
356 + schema = g_settings_schema_source_lookup(schema_source,
357 + "org.gnome.evolution-data-server",
359 + mi_user_headers_settings = g_settings_new_full(schema, NULL,
362 g_signal_connect (mi_user_headers_settings, "changed::camel-message-info-user-headers",
363 G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
364 G_UNLOCK (mi_user_headers);
365 diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
366 index 396cf39..e31dc1a 100644
367 --- a/src/camel/providers/imapx/camel-imapx-server.c
368 +++ b/src/camel/providers/imapx/camel-imapx-server.c
369 @@ -5682,7 +5682,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
370 if (do_old_flags_update) {
371 GSettings *eds_settings;
373 - eds_settings = g_settings_new ("org.gnome.evolution-data-server");
375 + g_autoptr(GSettingsSchemaSource) schema_source;
376 + g_autoptr(GSettingsSchema) schema;
377 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
378 + g_settings_schema_source_get_default(),
381 + schema = g_settings_schema_source_lookup(schema_source,
382 + "org.gnome.evolution-data-server",
384 + eds_settings = g_settings_new_full(schema, NULL, NULL);
387 if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
388 GPowerProfileMonitor *power_monitor;
389 diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
390 index 38bedb6..f799c29 100644
391 --- a/src/camel/providers/smtp/camel-smtp-transport.c
392 +++ b/src/camel/providers/smtp/camel-smtp-transport.c
393 @@ -1472,7 +1472,18 @@ smtp_helo (CamelSmtpTransport *transport,
394 transport->authtypes = NULL;
397 - settings = g_settings_new ("org.gnome.evolution-data-server");
399 + g_autoptr(GSettingsSchemaSource) schema_source;
400 + g_autoptr(GSettingsSchema) schema;
401 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
402 + g_settings_schema_source_get_default(),
405 + schema = g_settings_schema_source_lookup(schema_source,
406 + "org.gnome.evolution-data-server",
408 + settings = g_settings_new_full(schema, NULL, NULL);
410 name = g_settings_get_string (settings, "camel-smtp-helo-argument");
411 g_clear_object (&settings);
413 diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c
414 index 188f276..939f89b 100644
415 --- a/src/libedataserver/e-network-monitor.c
416 +++ b/src/libedataserver/e-network-monitor.c
417 @@ -256,7 +256,18 @@ e_network_monitor_constructed (GObject *object)
418 /* Chain up to parent's method. */
419 G_OBJECT_CLASS (e_network_monitor_parent_class)->constructed (object);
421 - settings = g_settings_new ("org.gnome.evolution-data-server");
423 + g_autoptr(GSettingsSchemaSource) schema_source;
424 + g_autoptr(GSettingsSchema) schema;
425 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
426 + g_settings_schema_source_get_default(),
429 + schema = g_settings_schema_source_lookup(schema_source,
430 + "org.gnome.evolution-data-server",
432 + settings = g_settings_new_full(schema, NULL, NULL);
435 settings, "network-monitor-gio-name",
437 diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c
438 index 9624d86..6baa019 100644
439 --- a/src/libedataserver/e-oauth2-service-google.c
440 +++ b/src/libedataserver/e-oauth2-service-google.c
441 @@ -72,7 +72,18 @@ eos_google_read_settings (EOAuth2Service *service,
445 - settings = g_settings_new ("org.gnome.evolution-data-server");
447 + g_autoptr(GSettingsSchemaSource) schema_source;
448 + g_autoptr(GSettingsSchema) schema;
449 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
450 + g_settings_schema_source_get_default(),
453 + schema = g_settings_schema_source_lookup(schema_source,
454 + "org.gnome.evolution-data-server",
456 + settings = g_settings_new_full(schema, NULL, NULL);
458 value = g_settings_get_string (settings, key_name);
459 g_object_unref (settings);
461 diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c
462 index 7342577..915d8bd 100644
463 --- a/src/libedataserver/e-oauth2-service-outlook.c
464 +++ b/src/libedataserver/e-oauth2-service-outlook.c
465 @@ -75,7 +75,18 @@ eos_outlook_read_settings (EOAuth2Service *service,
469 - settings = g_settings_new ("org.gnome.evolution-data-server");
471 + g_autoptr(GSettingsSchemaSource) schema_source;
472 + g_autoptr(GSettingsSchema) schema;
473 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
474 + g_settings_schema_source_get_default(),
477 + schema = g_settings_schema_source_lookup(schema_source,
478 + "org.gnome.evolution-data-server",
480 + settings = g_settings_new_full(schema, NULL, NULL);
482 value = g_settings_get_string (settings, key_name);
483 g_object_unref (settings);
485 diff --git a/src/libedataserver/e-oauth2-service-yahoo.c b/src/libedataserver/e-oauth2-service-yahoo.c
486 index 3738359..f9ce2d9 100644
487 --- a/src/libedataserver/e-oauth2-service-yahoo.c
488 +++ b/src/libedataserver/e-oauth2-service-yahoo.c
489 @@ -67,7 +67,18 @@ eos_yahoo_read_settings (EOAuth2Service *service,
493 - settings = g_settings_new ("org.gnome.evolution-data-server");
495 + g_autoptr(GSettingsSchemaSource) schema_source;
496 + g_autoptr(GSettingsSchema) schema;
497 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
498 + g_settings_schema_source_get_default(),
501 + schema = g_settings_schema_source_lookup(schema_source,
502 + "org.gnome.evolution-data-server",
504 + settings = g_settings_new_full(schema, NULL, NULL);
506 value = g_settings_get_string (settings, key_name);
507 g_object_unref (settings);
509 diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
510 index 29c1dd2..84d42b7 100644
511 --- a/src/libedataserver/e-oauth2-service.c
512 +++ b/src/libedataserver/e-oauth2-service.c
513 @@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
514 name_len = strlen (name);
515 hostname_len = strlen (hostname);
517 - settings = g_settings_new ("org.gnome.evolution-data-server");
519 + g_autoptr(GSettingsSchemaSource) schema_source;
520 + g_autoptr(GSettingsSchema) schema;
521 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
522 + g_settings_schema_source_get_default(),
525 + schema = g_settings_schema_source_lookup(schema_source,
526 + "org.gnome.evolution-data-server",
528 + settings = g_settings_new_full(schema, NULL, NULL);
530 values = g_settings_get_strv (settings, "oauth2-services-hint");
531 g_object_unref (settings);
533 diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
534 index 1539f8b..77cf123 100644
535 --- a/src/libedataserver/e-source-registry.c
536 +++ b/src/libedataserver/e-source-registry.c
537 @@ -1754,7 +1754,19 @@ e_source_registry_init (ESourceRegistry *registry)
539 g_mutex_init (®istry->priv->sources_lock);
541 - registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA);
543 + g_autoptr(GSettingsSchemaSource) schema_source;
544 + g_autoptr(GSettingsSchema) schema;
545 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
546 + g_settings_schema_source_get_default(),
549 + schema = g_settings_schema_source_lookup(schema_source,
552 + registry->priv->settings = g_settings_new_full(schema, NULL,
557 registry->priv->settings, "changed",
558 diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
559 index 14b6481..7149b74 100644
560 --- a/src/libedataserverui/e-reminders-widget.c
561 +++ b/src/libedataserverui/e-reminders-widget.c
562 @@ -1986,7 +1986,19 @@ static void
563 e_reminders_widget_init (ERemindersWidget *reminders)
565 reminders->priv = e_reminders_widget_get_instance_private (reminders);
566 - reminders->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
568 + g_autoptr(GSettingsSchemaSource) schema_source;
569 + g_autoptr(GSettingsSchema) schema;
570 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
571 + g_settings_schema_source_get_default(),
574 + schema = g_settings_schema_source_lookup(schema_source,
575 + "org.gnome.evolution-data-server.calendar",
577 + reminders->priv->settings = g_settings_new_full(schema, NULL,
580 reminders->priv->cancellable = g_cancellable_new ();
581 reminders->priv->is_empty = TRUE;
582 reminders->priv->is_mapped = FALSE;
583 diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
584 index 6f03053..b5db6b2 100644
585 --- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
586 +++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
587 @@ -706,7 +706,18 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve
588 gchar *autoconfig_directory;
591 - settings = g_settings_new ("org.gnome.evolution-data-server");
593 + g_autoptr(GSettingsSchemaSource) schema_source;
594 + g_autoptr(GSettingsSchema) schema;
595 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
596 + g_settings_schema_source_get_default(),
599 + schema = g_settings_schema_source_lookup(schema_source,
600 + "org.gnome.evolution-data-server",
602 + settings = g_settings_new_full(schema, NULL, NULL);
605 autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data);
607 diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
608 index d531cb9..c96f1d5 100644
609 --- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
610 +++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
611 @@ -61,7 +61,18 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server)
612 extension_name = E_SOURCE_EXTENSION_PROXY;
613 extension = e_source_get_extension (source, extension_name);
615 - settings = g_settings_new (NETWORK_CONFIG_SCHEMA_ID);
617 + g_autoptr(GSettingsSchemaSource) schema_source;
618 + g_autoptr(GSettingsSchema) schema;
619 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
620 + g_settings_schema_source_get_default(),
623 + schema = g_settings_schema_source_lookup(schema_source,
624 + NETWORK_CONFIG_SCHEMA_ID,
626 + settings = g_settings_new_full(schema, NULL, NULL);
629 switch (g_settings_get_int (settings, "proxy-type")) {
631 diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c
632 index 1c0a113..6b41423 100644
633 --- a/src/services/evolution-source-registry/evolution-source-registry.c
634 +++ b/src/services/evolution-source-registry/evolution-source-registry.c
635 @@ -181,7 +181,18 @@ main (gint argc,
639 - settings = g_settings_new ("org.gnome.evolution-data-server");
641 + g_autoptr(GSettingsSchemaSource) schema_source;
642 + g_autoptr(GSettingsSchema) schema;
643 + schema_source = g_settings_schema_source_new_from_directory("@EDS@",
644 + g_settings_schema_source_get_default(),
647 + schema = g_settings_schema_source_lookup(schema_source,
648 + "org.gnome.evolution-data-server",
650 + settings = g_settings_new_full(schema, NULL, NULL);
653 if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) {
654 g_settings_set_boolean (settings, "migrated", TRUE);