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
This commit is contained in:
parent
d8e7fc403b
commit
a0140fb2c7
@ -573,6 +573,7 @@ app_load_events (App *app)
|
|||||||
gchar *since_iso8601;
|
gchar *since_iso8601;
|
||||||
gchar *until_iso8601;
|
gchar *until_iso8601;
|
||||||
gchar *query;
|
gchar *query;
|
||||||
|
const char *tz_location;
|
||||||
|
|
||||||
/* out with the old */
|
/* out with the old */
|
||||||
g_hash_table_remove_all (app->appointments);
|
g_hash_table_remove_all (app->appointments);
|
||||||
@ -594,15 +595,17 @@ app_load_events (App *app)
|
|||||||
|
|
||||||
since_iso8601 = isodate_from_time_t (app->since);
|
since_iso8601 = isodate_from_time_t (app->since);
|
||||||
until_iso8601 = isodate_from_time_t (app->until);
|
until_iso8601 = isodate_from_time_t (app->until);
|
||||||
|
tz_location = icaltimezone_get_location (app->zone);
|
||||||
|
|
||||||
print_debug ("Loading events since %s until %s",
|
print_debug ("Loading events since %s until %s",
|
||||||
since_iso8601,
|
since_iso8601,
|
||||||
until_iso8601);
|
until_iso8601);
|
||||||
|
|
||||||
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
|
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
|
||||||
"(make-time \"%s\")",
|
"(make-time \"%s\") \"%s\"",
|
||||||
since_iso8601,
|
since_iso8601,
|
||||||
until_iso8601);
|
until_iso8601,
|
||||||
|
tz_location);
|
||||||
|
|
||||||
clients = calendar_sources_get_appointment_clients (app->sources);
|
clients = calendar_sources_get_appointment_clients (app->sources);
|
||||||
for (l = clients; l != NULL; l = l->next)
|
for (l = clients; l != NULL; l = l->next)
|
||||||
|
Loading…
Reference in New Issue
Block a user