From 7b9065c2eea5332ec69285ccdc52106a27e25111 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 23 Dec 2014 21:47:50 -0500 Subject: [PATCH] Avoid a crash in testcalendar When changing between months, we can get into a situation like 'February 30", which GDate doesn't accept. Don't crash in that case. --- tests/testcalendar.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 497901113d..16f04bf5d1 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -67,10 +67,16 @@ calendar_date_to_string (CalendarData *data, gtk_calendar_get_date (GTK_CALENDAR(data->window), &year, &month, &day); - date = g_date_new_dmy (day, month + 1, year); - g_date_strftime (buffer, buff_len-1, "%x", date); - - g_date_free (date); + if (g_date_valid_dmy (day, month + 1, year)) + { + date = g_date_new_dmy (day, month + 1, year); + g_date_strftime (buffer, buff_len-1, "%x", date); + g_date_free (date); + } + else + { + g_snprintf (buffer, buff_len - 1, "%d/%d/%d (invalid)", month + 1, day, year); + } } static void