[gnome-calendar/gnome-3-24] week-header: don't attempt to add events incorrectly
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar/gnome-3-24] week-header: don't attempt to add events incorrectly
- Date: Sat, 25 Mar 2017 01:24:45 +0000 (UTC)
commit 431f6bc50491a9b374be352160c13c898e4592e7
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Fri Mar 24 22:09:13 2017 -0300
week-header: don't attempt to add events incorrectly
One of the biggest issues of GNOME Calendar views right now
is that they rely on GObject property system to update the
active date. Even gcal_view_set_date() is just a wrapper
around GObject set.
Because GObject asynchronously updates the property by letting
the mainloop handle it, we can never be assured that all the
views had their views updated before updating the data model.
This patch temporarily adds sanity checks to GcalWeekHeader
to prevent making Calendar unusable, until we fix GcalView.
src/views/gcal-week-header.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/views/gcal-week-header.c b/src/views/gcal-week-header.c
index 8168e7e..ae92a32 100644
--- a/src/views/gcal-week-header.c
+++ b/src/views/gcal-week-header.c
@@ -367,9 +367,10 @@ update_overflow (GcalWeekHeader *self)
gtk_label_set_label (GTK_LABEL (label), text);
g_free (text);
}
- else
+ else if (label)
{
- g_clear_pointer (&self->overflow_label[i], gtk_widget_destroy);
+ gtk_widget_destroy (label);
+ self->overflow_label[i] = NULL;
}
}
@@ -1668,6 +1669,13 @@ gcal_week_header_add_event (GcalWeekHeader *self,
else
end = 6;
+ /* Sanity checks */
+ if (start > end || start > 6 || end < 0)
+ {
+ g_warning ("Error adding event '%s' to the week header", gcal_event_get_summary (event));
+ return;
+ }
+
/* Add the event widget to the grid */
add_event_to_grid (self, event, start, end);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]