summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2023-03-14 13:24:33 +0100
committerMilan Crha <mcrha@redhat.com>2023-03-14 17:05:56 +0100
commit9918dfd02e416c9a04d978bfad4bb2755337b143 (patch)
treed1146aecbc421f1def94a50db8f224c3114631bb
parent5fd3a7ed39ee948281ae9fc0dbdd2b48f497b82d (diff)
downloadevolution-data-server-9918dfd02e416c9a04d978bfad4bb2755337b143.tar.gz
EReminderWatcher: Ensure correct default timezone set on ECalClient
Using the same default timezone for the ECalClient as is used for the reminder watcher makes sure the floating times are calculated at the user's time zone, not as UTC.
-rw-r--r--src/calendar/libecal/e-reminder-watcher.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index 0ad47a9d4..5087de100 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -241,6 +241,8 @@ client_data_new (EReminderWatcher *watcher,
cd->view = NULL;
cd->cancellable = NULL;
+ e_cal_client_set_default_timezone (client, watcher->priv->default_zone);
+
return cd;
}
@@ -2657,6 +2659,7 @@ e_reminder_watcher_set_default_zone (EReminderWatcher *watcher,
const ICalTimezone *zone)
{
const gchar *new_location;
+ GSList *link;
g_return_if_fail (E_IS_REMINDER_WATCHER (watcher));
@@ -2676,6 +2679,12 @@ e_reminder_watcher_set_default_zone (EReminderWatcher *watcher,
g_clear_object (&watcher->priv->default_zone);
watcher->priv->default_zone = e_cal_util_copy_timezone (zone);
+ for (link = watcher->priv->clients; link; link = g_slist_next (link)) {
+ ClientData *cd = link->data;
+
+ e_cal_client_set_default_timezone (cd->client, watcher->priv->default_zone);
+ }
+
g_rec_mutex_unlock (&watcher->priv->lock);
g_object_notify (G_OBJECT (watcher), "default-zone");