aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view-main-item.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-day-view-main-item.c')
-rw-r--r--calendar/gui/e-day-view-main-item.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index 757d4e90fd..5de9b76546 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -107,6 +107,9 @@ day_view_main_item_draw_long_events_in_vbars (EDayViewMainItem *main_item,
gboolean first = TRUE;
event = &g_array_index (day_view->long_events, EDayViewEvent, event_num);
+ if (!is_comp_data_valid (event))
+ continue;
+
/* If the event is TRANSPARENT, skip it. */
if (icalcomp_is_transparent (event->comp_data->icalcomp)) {
continue;
@@ -248,9 +251,15 @@ day_view_main_item_draw_day_event (EDayViewMainItem *main_item,
font_options = get_font_options ();
+ if (!is_array_index_in_bounds (day_view->events[day], event_num))
+ return;
+
event = &g_array_index (day_view->events[day], EDayViewEvent,
event_num);
+ if (!is_comp_data_valid (event))
+ return;
+
/* Fill in the event background. Note that for events in the first
column of the day, we might not want to paint over the vertical bar,
since that is used for multiple events. But then you can't see
@@ -866,6 +875,9 @@ day_view_main_item_draw_events_in_vbars (EDayViewMainItem *main_item,
for (event_num = 0; event_num < day_view->events[day]->len; event_num++) {
event = &g_array_index (day_view->events[day], EDayViewEvent, event_num);
+ if (!is_comp_data_valid (event))
+ continue;
+
/* We can skip the events in the first column since they will
draw over this anyway. */
if (event->num_columns > 0 && event->start_row_or_col == 0) {