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:
parent
21360a453c
commit
b46fdb2d13
@ -108,6 +108,9 @@ day_of_week (guint year, guint mm, guint dd)
|
|||||||
guint days;
|
guint days;
|
||||||
|
|
||||||
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
|
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);
|
days = g_date_time_get_day_of_week (dt);
|
||||||
g_date_time_unref (dt);
|
g_date_time_unref (dt);
|
||||||
|
|
||||||
@ -121,6 +124,9 @@ week_of_year (guint year, guint mm, guint dd)
|
|||||||
guint week;
|
guint week;
|
||||||
|
|
||||||
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
|
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);
|
week = g_date_time_get_week_of_year (dt);
|
||||||
g_date_time_unref (dt);
|
g_date_time_unref (dt);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user