diff options
-rw-r--r-- | calendar/ChangeLog | 7 | ||||
-rw-r--r-- | calendar/gui/dialogs/schedule-page.c | 12 |
2 files changed, 16 insertions, 3 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 0ca5403f9e..c3abba7398 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,5 +1,12 @@ 2004-05-11 Rodrigo Moya <rodrigo@ximian.com> + Fixes #53137 + + * gui/dialogs/schedule-page.c (schedule_page_fill_widgets): check dates + from the ECalComponent before using them. + +2004-05-11 Rodrigo Moya <rodrigo@ximian.com> + * gui/e-cal-model-tasks.c (set_due): use/set the DUE date, not the DTEND date. diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c index 97126f7bbd..d9f37b414f 100644 --- a/calendar/gui/dialogs/schedule-page.c +++ b/calendar/gui/dialogs/schedule-page.c @@ -204,7 +204,7 @@ update_time (SchedulePage *spage, ECalComponentDateTime *start_date, ECalCompone gboolean all_day; priv = spage->priv; - + /* Note that if we are creating a new event, the timezones may not be on the server, so we try to get the builtin timezone with the TZID first. */ @@ -284,6 +284,7 @@ schedule_page_fill_widgets (CompEditorPage *page, ECalComponent *comp) SchedulePage *spage; SchedulePagePrivate *priv; ECalComponentDateTime start_date, end_date; + gboolean validated = TRUE; spage = SCHEDULE_PAGE (page); priv = spage->priv; @@ -296,14 +297,19 @@ schedule_page_fill_widgets (CompEditorPage *page, ECalComponent *comp) /* Start and end times */ e_cal_component_get_dtstart (comp, &start_date); e_cal_component_get_dtend (comp, &end_date); - update_time (spage, &start_date, &end_date); + if (!start_date.value) + validated = FALSE; + else if (!end_date.value) + validated = FALSE; + else + update_time (spage, &start_date, &end_date); e_cal_component_free_datetime (&start_date); e_cal_component_free_datetime (&end_date); priv->updating = FALSE; - return TRUE; + return validated; } /* fill_component handler for the schedule page */ |