diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c index e11725c8..d08e5610 100644 --- a/src/gcal-event-widget.c +++ b/src/gcal-event-widget.c @@ -912,7 +912,7 @@ gcal_event_widget_peek_end_date (GcalEventWidget *event) GcalEventWidgetPrivate *priv; priv = gcal_event_widget_get_instance_private (event); - return priv->dt_end; + return priv->dt_end != NULL ? priv->dt_end : priv->dt_start; } void diff --git a/src/gcal-utils.c b/src/gcal-utils.c index 59f61f7a..e48979ac 100644 --- a/src/gcal-utils.c +++ b/src/gcal-utils.c @@ -397,6 +397,9 @@ gint icaltime_compare_date (const icaltimetype *date1, const icaltimetype *date2) { + if (date2 == NULL) + return 0; + if (date1->year < date2->year) return -1; else if (date1->year > date2->year) diff --git a/src/gcal-year-view.c b/src/gcal-year-view.c index 979a6786..83464997 100644 --- a/src/gcal-year-view.c +++ b/src/gcal-year-view.c @@ -1158,7 +1158,10 @@ gcal_year_view_component_added (ECalDataModelSubscriber *subscriber, e_cal_component_free_datetime (&date); e_cal_component_get_dtend (comp, &date); - event_end = icaltime_as_timet_with_zone (*(date.value), date.value->zone != NULL ? date.value->zone : zone); + if (date.value != NULL) + event_end = icaltime_as_timet_with_zone (*(date.value), date.value->zone != NULL ? date.value->zone : zone); + else + event_end = event_start; e_cal_component_free_datetime (&date); if (!((event_start <= range_start && event_end >= range_end) ||