[gtk+] calendar: Handle invalid dates



commit b46fdb2d13a072bd9d91c316cae3e9139ea512b5
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Jan 2 23:05:29 2015 +0000

    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.

 gtk/gtkcalendar.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 3985a7d..b4ef543 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -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);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]