diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c index 0dfa545b..e1c728ad 100644 --- a/src/gcal-event-widget.c +++ b/src/gcal-event-widget.c @@ -731,7 +731,12 @@ gcal_event_widget_new_from_data (GcalEventData *data) start_is_date = date->is_date == 1; if (!start_is_date) - *date = icaltime_convert_to_zone (*(dt.value), e_cal_util_get_system_timezone ()); + { + if (dt.tzid != NULL) + dt.value->zone = icaltimezone_get_builtin_timezone_from_tzid (dt.tzid); + *date = icaltime_convert_to_zone (*(dt.value), + e_cal_util_get_system_timezone ()); + } gcal_event_widget_set_date (event, date); e_cal_component_free_datetime (&dt); @@ -745,7 +750,12 @@ gcal_event_widget_new_from_data (GcalEventData *data) end_is_date = date->is_date == 1; if (!end_is_date) - *date = icaltime_convert_to_zone (*(dt.value), e_cal_util_get_system_timezone ()); + { + if (dt.tzid != NULL) + dt.value->zone = icaltimezone_get_builtin_timezone_from_tzid (dt.tzid); + *date = icaltime_convert_to_zone (*(dt.value), + e_cal_util_get_system_timezone ()); + } gcal_event_widget_set_end_date (event, date); e_cal_component_free_datetime (&dt);