nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/hardcode-gsettings.patch

122 lines
4.7 KiB
Diff

diff --git a/src/EWS/calendar/e-cal-backend-ews-utils.c b/src/EWS/calendar/e-cal-backend-ews-utils.c
index 87b02c6..3fabca6 100644
--- a/src/EWS/calendar/e-cal-backend-ews-utils.c
+++ b/src/EWS/calendar/e-cal-backend-ews-utils.c
@@ -2484,7 +2484,19 @@ e_cal_backend_ews_get_configured_evolution_icaltimezone (void)
if (schema) {
GSettings *settings;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL,
+ NULL);
+ }
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
index 44a20d6..90d5729 100644
--- a/src/EWS/camel/camel-ews-utils.c
+++ b/src/EWS/camel/camel-ews-utils.c
@@ -1554,7 +1554,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
evo_labels = g_ptr_array_new_full (5, g_free);
- settings = g_settings_new ("org.gnome.evolution.mail");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.mail",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
strv = g_settings_get_strv (settings, "labels");
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/EWS/common/e-ews-calendar-utils.c b/src/EWS/common/e-ews-calendar-utils.c
index 6deda60..9b44cc7 100644
--- a/src/EWS/common/e-ews-calendar-utils.c
+++ b/src/EWS/common/e-ews-calendar-utils.c
@@ -413,7 +413,18 @@ ews_get_configured_icaltimezone (void)
gchar *location;
ICalTimezone *zone = NULL;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
location = g_settings_get_string (settings, "timezone");
if (location) {
zone = i_cal_timezone_get_builtin_timezone (location);
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
index 3db3564..a233d4d 100644
--- a/src/Microsoft365/camel/camel-m365-store.c
+++ b/src/Microsoft365/camel/camel-m365-store.c
@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
evo_labels = g_ptr_array_new_full (5, g_free);
- settings = g_settings_new ("org.gnome.evolution.mail");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.mail",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
strv = g_settings_get_strv (settings, "labels");
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/Microsoft365/common/e-m365-tz-utils.c b/src/Microsoft365/common/e-m365-tz-utils.c
index 7a1d7f4..3c0d5e1 100644
--- a/src/Microsoft365/common/e-m365-tz-utils.c
+++ b/src/Microsoft365/common/e-m365-tz-utils.c
@@ -192,7 +192,18 @@ e_m365_tz_utils_get_user_timezone (void)
gchar *location;
ICalTimezone *zone = NULL;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();