[gnome-shell] calendar-server: Specify the timezone for the view query



commit a0140fb2c792a19193b3df92c1a8917d581ee146
Author: Sebastian Keller <sebastian-keller gmx de>
Date:   Tue Jun 6 22:32:55 2017 +0200

    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 files 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 b607b73..e979f7f 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]