From d6fade43cf3eb5fcf722b3a01342705fc312bd79 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 8 Nov 2000 21:45:19 +0000 Subject: These changes fix bugzilla bugs #874 and #875. 2000-11-08 Federico Mena Quintero These changes fix bugzilla bugs #874 and #875. * cal-util/cal-component.c (cal_component_get_exdate_list): Return a list of CalComponentDateTime instead of simple struct icaltimetype objects. Exception date properties *can* contain a timezone parameter, so we need to include those if they are present. (cal_component_set_exdate_list): On the input, handle a list of CalComponentDateTime structures. On the internals, handle a list of struct datetime instead of plain properties. (cal_component_free_exdate_list): Handle a list of CalComponentDateTime structures. (scan_exdate): Create a list of struct datetime structures. (free_icalcomponent): Free the exdate_list properly. * cal-util/cal-recur.c (generate_instances_for_chunk): Use the proper types for exception dates. * gui/comp-util.h: * gui/comp-util.c: New files with utilities for manipulating calendar component objects. (cal_comp_util_add_exdate): New function. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-util.[ch] to the list of sources. * gui/e-day-view.c (add_exdate): New convenience function to add an exception date to a calendar component. (e_day_view_on_unrecur_appointment): Use cal_comp_util_add_exdate(). (e_day_view_on_delete_occurrence): Likewise. * gui/e-week-view.c (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (nth_weekday): Be paranoid about valid position values. (fill_widgets): Use the proper types for exdates. (dialog_to_comp_object): Likewise. svn path=/trunk/; revision=6517 --- calendar/cal-util/cal-recur.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'calendar/cal-util/cal-recur.c') diff --git a/calendar/cal-util/cal-recur.c b/calendar/cal-util/cal-recur.c index 057bde1368..5dbb851cec 100644 --- a/calendar/cal-util/cal-recur.c +++ b/calendar/cal-util/cal-recur.c @@ -1044,7 +1044,7 @@ generate_instances_for_chunk (CalComponent *comp, /* Add on specific exception dates. */ for (elem = exdates; elem; elem = elem->next) { - struct icaltimetype *it; + CalComponentDateTime *cdt; time_t t; /* FIXME we should only be dealing with dates, not times too. @@ -1052,8 +1052,8 @@ generate_instances_for_chunk (CalComponent *comp, No, I think it is supposed to be dates & times - Damon. I'm not sure what the semantics of just a date would be, since the event could recur several times each day. */ - it = elem->data; - t = icaltime_as_timet (*it); + cdt = elem->data; + t = icaltime_as_timet (*cdt->value); cal_object_time_from_time (&cotime, t); g_array_append_val (ex_occs, cotime); -- cgit v1.2.3