aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-attendee.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-meeting-attendee.c')
-rw-r--r--calendar/gui/e-meeting-attendee.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/calendar/gui/e-meeting-attendee.c b/calendar/gui/e-meeting-attendee.c
index 3ecee9dd78..413c83894a 100644
--- a/calendar/gui/e-meeting-attendee.c
+++ b/calendar/gui/e-meeting-attendee.c
@@ -845,6 +845,10 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
if (compare_times (&period.start, &period.end) > 0)
return FALSE;
+ /* If the busy_type is FREE, then there is no need to render it in UI */
+ if (busy_type == E_MEETING_FREE_BUSY_FREE)
+ goto done;
+
/* If the busy range is not set elsewhere, track it as best we can */
if (!priv->start_busy_range_set) {
if (!g_date_valid (&priv->busy_periods_start.date)) {
@@ -871,6 +875,7 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
}
}
}
+
if (!priv->end_busy_range_set) {
if (!g_date_valid (&priv->busy_periods_end.date)) {
priv->busy_periods_end.date = period.end.date;
@@ -898,12 +903,14 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
}
g_array_append_val (priv->busy_periods, period);
- priv->has_calendar_info = TRUE;
- priv->busy_periods_sorted = FALSE;
period_in_days = g_date_get_julian (&period.end.date) - g_date_get_julian (&period.start.date) + 1;
priv->longest_period_in_days = MAX (priv->longest_period_in_days, period_in_days);
+done:
+ priv->has_calendar_info = TRUE;
+ priv->busy_periods_sorted = FALSE;
+
return TRUE;
}