diff options
Diffstat (limited to 'calendar/cal-util')
-rw-r--r-- | calendar/cal-util/cal-recur.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-recur.c b/calendar/cal-util/cal-recur.c index cfccdaf19f..e050004031 100644 --- a/calendar/cal-util/cal-recur.c +++ b/calendar/cal-util/cal-recur.c @@ -904,6 +904,7 @@ cal_recur_from_icalproperty (icalproperty *prop, gboolean exception, struct icalrecurrencetype ir; CalRecurrence *r; gint max_elements, i; + GList *elem; g_return_val_if_fail (prop != NULL, NULL); @@ -956,6 +957,11 @@ cal_recur_from_icalproperty (icalproperty *prop, gboolean exception, r->bymonth = array_to_list (ir.by_month, sizeof (ir.by_month) / sizeof (ir.by_month[0])); + for (elem = r->bymonth; elem; elem = elem->next) { + /* We need to convert from 1-12 to 0-11, i.e. subtract 1. */ + int month = GPOINTER_TO_INT (elem->data) - 1; + elem->data = GINT_TO_POINTER (month); + } r->byweekno = array_to_list (ir.by_week_no, sizeof (ir.by_week_no) / sizeof (ir.by_week_no[0])); |