[evolution-data-server] I#169 - Detached instances shown as with floating time



commit 048e658d0006ec4c14c5eccf2e6dba4eb762e89f
Author: Milan Crha <mcrha redhat com>
Date:   Thu Oct 24 14:54:19 2019 +0200

    I#169 - Detached instances shown as with floating time
    
    Closes https://gitlab.gnome.org/GNOME/evolution-data-server/issues/169

 src/calendar/libecal/e-cal-client.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/src/calendar/libecal/e-cal-client.c b/src/calendar/libecal/e-cal-client.c
index 2e359ec60..30cc5ca1c 100644
--- a/src/calendar/libecal/e-cal-client.c
+++ b/src/calendar/libecal/e-cal-client.c
@@ -2438,10 +2438,25 @@ generate_instances (ECalClient *client,
                        }
 
                        ci->start = i_cal_time_clone (e_cal_component_datetime_get_value (dtstart));
+                       if (e_cal_component_datetime_get_tzid (dtstart)) {
+                               ICalTimezone *zone;
+
+                               zone = e_cal_client_tzlookup_cb (e_cal_component_datetime_get_tzid (dtstart), 
client, NULL, NULL);
+
+                               if (zone)
+                                       i_cal_time_set_timezone (ci->start, zone);
+                       }
+
+                       if (dtend && e_cal_component_datetime_get_value (dtend)) {
+                               ICalTimezone *zone;
 
-                       if (dtend && e_cal_component_datetime_get_value (dtend))
                                ci->end = i_cal_time_clone (e_cal_component_datetime_get_value (dtend));
-                       else {
+
+                               zone = e_cal_client_tzlookup_cb (e_cal_component_datetime_get_tzid (dtend), 
client, NULL, NULL);
+
+                               if (zone)
+                                       i_cal_time_set_timezone (ci->end, zone);
+                       } else {
                                ci->end = i_cal_time_clone (ci->start);
 
                                if (i_cal_time_is_date (e_cal_component_datetime_get_value (dtstart)))


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