calendar: Handle invalid dates

GtkCalendar can have an invalid date — mostly at initialization. This
means that GDateTime construction may fail. We need to handle that case
gracefully, like the old code did.

This fixes the `notify` test suite, which started failing with:

/Notification/GtkCalendar:
GLib-CRITICAL **: g_date_time_get_day_of_week: assertion 'datetime != NULL' failed

inside the Continuous builder.
This commit is contained in:
Emmanuele Bassi 2015-01-02 23:05:29 +00:00
parent 21360a453c
commit b46fdb2d13

View File

@ -108,6 +108,9 @@ day_of_week (guint year, guint mm, guint dd)
guint days;
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
if (dt == NULL)
return 0;
days = g_date_time_get_day_of_week (dt);
g_date_time_unref (dt);
@ -121,6 +124,9 @@ week_of_year (guint year, guint mm, guint dd)
guint week;
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
if (dt == NULL)
return 1;
week = g_date_time_get_week_of_year (dt);
g_date_time_unref (dt);