From a0140fb2c792a19193b3df92c1a8917d581ee146 Mon Sep 17 00:00:00 2001 From: Sebastian Keller Date: Tue, 6 Jun 2017 22:32:55 +0200 Subject: [PATCH] calendar-server: Specify the timezone for the view query Otherwise UTC is used which results in a different interpretation of floating time events. This then could lead to a mismatch with events generated e_cal_client_generate_instances_sync() which always uses the default timezone. Such a mismatch would then cause constant invalidation and reloading. https://bugzilla.gnome.org/show_bug.cgi?id=781950 --- src/calendar-server/gnome-shell-calendar-server.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c index b607b7331..e979f7ff3 100644 --- a/src/calendar-server/gnome-shell-calendar-server.c +++ b/src/calendar-server/gnome-shell-calendar-server.c @@ -573,6 +573,7 @@ app_load_events (App *app) gchar *since_iso8601; gchar *until_iso8601; gchar *query; + const char *tz_location; /* out with the old */ g_hash_table_remove_all (app->appointments); @@ -594,15 +595,17 @@ app_load_events (App *app) since_iso8601 = isodate_from_time_t (app->since); until_iso8601 = isodate_from_time_t (app->until); + tz_location = icaltimezone_get_location (app->zone); print_debug ("Loading events since %s until %s", since_iso8601, until_iso8601); query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") " - "(make-time \"%s\")", + "(make-time \"%s\") \"%s\"", since_iso8601, - until_iso8601); + until_iso8601, + tz_location); clients = calendar_sources_get_appointment_clients (app->sources); for (l = clients; l != NULL; l = l->next)