e-cal-recur: Incorrect timezone used for DTEND from DURATION

Bug #1864638 reported by Rob N
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
evolution-data-server (Ubuntu)
Undecided
Unassigned

Bug Description

Recurring events from CalDAV with DTSTART and DURATION but no DTEND get incorrect timezone for the end time.

Reported upstream:

https://gitlab.gnome.org/GNOME/evolution-data-server/issues/194

And fixed:

https://gitlab.gnome.org/GNOME/evolution-data-server/-/commit/80072aea88235e1cfe2223d8d5c7d9605700a71f

I'd love to see this backported to 18.04. The equivalent patch against 3.28.5 should just be:

--- evolution-data-server-3.28.5.orig/src/calendar/libecal/e-cal-recur.c
+++ evolution-data-server-3.28.5/src/calendar/libecal/e-cal-recur.c
@@ -206,6 +206,8 @@ ensure_timezone (icalcomponent *comp,

  if (!prop)
   prop = icalcomponent_get_first_property (comp, prop_kind);
+ if (!prop && prop_kind == ICAL_DTEND_PROPERTY)
+ prop = icalcomponent_get_first_property (comp, ICAL_DTSTART_PROPERTY);
  if (!prop)
   return TRUE;

(I've been running this patch for a week and it seems to be working great).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers