From 3fa292756bef166b8e864880497dd33ea8135e1e Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 8 Jul 2011 01:15:51 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: c0509d9d92c69255be6d27969b4f578739e78c7f Monotone-Revision: 7f72bf38468755bb297376dd8f4ea909be348709 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-07-08T01:15:51 Monotone-Branch: ca.inverse.sogo --- SOPE/NGCards/ChangeLog | 4 ++++ SOPE/NGCards/iCalDailyRecurrenceCalculator.m | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/SOPE/NGCards/ChangeLog b/SOPE/NGCards/ChangeLog index 8d3b0d28e..c785debc9 100644 --- a/SOPE/NGCards/ChangeLog +++ b/SOPE/NGCards/ChangeLog @@ -1,5 +1,9 @@ 2011-07-11 Francis Lachapelle + * iCalDailyRecurrenceCalculator.m + (-recurrenceRangesWithinCalendarDateRange:): we must return all + ranges that intersect with the lookup period. + * iCalRepeatableEntityObject.m (-addToExceptionDates:): drop the time part when dealing with an all-day event. diff --git a/SOPE/NGCards/iCalDailyRecurrenceCalculator.m b/SOPE/NGCards/iCalDailyRecurrenceCalculator.m index ee8c2b6f6..728d0dec2 100644 --- a/SOPE/NGCards/iCalDailyRecurrenceCalculator.m +++ b/SOPE/NGCards/iCalDailyRecurrenceCalculator.m @@ -160,9 +160,8 @@ { currentEndDate = [currentStartDate addTimeInterval: [firstRange duration]]; r = [NGCalendarDateRange calendarDateRangeWithStartDate: currentStartDate - endDate: currentEndDate]; - - if ([_r containsDateRange: r]) + endDate: currentEndDate]; + if ([_r containsDateRange: r] || [_r doesIntersectWithDateRange: r]) [ranges addObject: r]; } } @@ -178,6 +177,7 @@ i++; } + return ranges; }