diff options
Diffstat (limited to 'my-evolution/e-summary-calendar.c')
-rw-r--r-- | my-evolution/e-summary-calendar.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/my-evolution/e-summary-calendar.c b/my-evolution/e-summary-calendar.c index 34dcdf1506..71352b951c 100644 --- a/my-evolution/e-summary-calendar.c +++ b/my-evolution/e-summary-calendar.c @@ -99,6 +99,14 @@ e_cal_comp_util_compare_event_timezones (CalComponent *comp, cal_component_get_dtstart (comp, &start_datetime); cal_component_get_dtend (comp, &end_datetime); + /* If either the DTSTART or the DTEND is a DATE value, we return TRUE. + Maybe if one was a DATE-TIME we should check that, but that should + not happen often. */ + if (start_datetime.value->is_date || end_datetime.value->is_date) { + retval = TRUE; + goto out; + } + /* FIXME: DURATION may be used instead. */ if (cal_component_compare_tzid (tzid, start_datetime.tzid) && cal_component_compare_tzid (tzid, end_datetime.tzid)) { @@ -244,7 +252,8 @@ uids_to_array (ESummary *summary, recur->summary = summary; cal_recur_generate_instances (event->comp, begin, end, add_recurrances, recur, - cal_client_resolve_tzid_cb, client); + cal_client_resolve_tzid_cb, client, + recur->summary->tz); g_free (recur); g_free (event->uid); g_free (event); @@ -294,6 +303,12 @@ generate_html (gpointer data) char *tmp; time_t t, begin, end, f; + /* Set the default timezone on the server. */ + if (summary->tz) { + cal_client_set_default_timezone (calendar->client, + summary->tz); + } + t = time (NULL); begin = time_day_begin_with_zone (t, summary->tz); switch (summary->preferences->days) { |