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)
New
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.