From cdc5bde96a56bf338216158dc1e9ebb34f8f054d Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 26 Jan 2017 19:14:42 -0200 Subject: [PATCH] week-grid: make sure events span at least 1 minute When adding an event with the same start and end dates and times, the event effectively spans 0 minutes, leading a division by zero and causing varius UI glitches. Fix that by making sure events span at least 1 minute. https://bugzilla.gnome.org/show_bug.cgi?id=777414 --- src/views/gcal-week-grid.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/views/gcal-week-grid.c b/src/views/gcal-week-grid.c index 15b58927..54fb6afc 100644 --- a/src/views/gcal-week-grid.c +++ b/src/views/gcal-week-grid.c @@ -166,6 +166,14 @@ get_event_range (GcalWeekGrid *self, diff = g_date_time_difference (event_end, week_start); *end = CLAMP (diff / G_TIME_SPAN_MINUTE, 0, MAX_MINUTES); + /* + * XXX: it may happen that the event has the same start and end + * dates. For this case, just enforce that the event is at least + * 1 minute long. + */ + if (start && *start == *end) + *end = *end + 1; + g_clear_pointer (&event_end, g_date_time_unref); }