From 08877ee0dc61b73978d6e7f46216c9405498dbf8 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 25 Aug 2010 23:08:18 +0100 Subject: [PATCH] datetime: Fix a thinko We need to check if a year is a leap one *after* we increased it with the given value, not before. --- glib/gdatetime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glib/gdatetime.c b/glib/gdatetime.c index c7972b445..baf0c5ff7 100644 --- a/glib/gdatetime.c +++ b/glib/gdatetime.c @@ -357,6 +357,8 @@ g_date_time_add_dmy (GDateTime *datetime, gint step, i; const guint16 *max_days; + __year += years; + /* subtract one day for leap years */ if (GREGORIAN_LEAP (__year) && __month == 2) { @@ -364,8 +366,6 @@ g_date_time_add_dmy (GDateTime *datetime, __day -= 1; } - __year += years; - /* add months */ step = months > 0 ? 1 : -1; for (i = 0; i < ABS (months); i++)