From 580bd2fee1afd6c4528cae55249aa2eb72e9cdba Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Tue, 11 May 2004 16:59:56 +0000 Subject: Fixes #53137 2004-05-11 Rodrigo Moya Fixes #53137 * gui/dialogs/schedule-page.c (schedule_page_fill_widgets): check dates from the ECalComponent before using them. svn path=/trunk/; revision=25855 --- calendar/ChangeLog | 7 +++++++ 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,3 +1,10 @@ +2004-05-11 Rodrigo Moya + + Fixes #53137 + + * gui/dialogs/schedule-page.c (schedule_page_fill_widgets): check dates + from the ECalComponent before using them. + 2004-05-11 Rodrigo Moya * gui/e-cal-model-tasks.c (set_due): use/set the DUE date, not 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 */ -- cgit v1.2.3