diff options
author | Milan Crha <mcrha@redhat.com> | 2023-03-14 13:24:33 +0100 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2023-03-14 17:05:56 +0100 |
commit | 9918dfd02e416c9a04d978bfad4bb2755337b143 (patch) | |
tree | d1146aecbc421f1def94a50db8f224c3114631bb | |
parent | 5fd3a7ed39ee948281ae9fc0dbdd2b48f497b82d (diff) | |
download | evolution-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.c | 9 |
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"); |