See ChangeLog.

Monotone-Parent: e85beb8f93ffc2c69838b75d3a43926981cbe855
Monotone-Revision: 6722e59df0723e9698a938cf20033b44e842756f

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2012-08-22T01:26:05
maint-2.0.2
Francis Lachapelle 2012-08-22 01:26:05 +00:00
parent 47555152b8
commit 4156dc77fc
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2012-08-21 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-exceptionDatesWithTimeZone:): we
now consider the timezone of the EXDATE, if defined.
2012-05-30 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-exceptionDatesWithTimeZone:)

View File

@ -33,6 +33,7 @@
#import "iCalDateTime.h"
#import "iCalEvent.h"
#import "iCalTimeZone.h"
#import "iCalTimeZonePeriod.h"
#import "iCalRecurrenceRule.h"
#import "iCalRecurrenceCalculator.h"
#import "iCalRepeatableEntityObject.h"
@ -258,19 +259,19 @@
while ((dateString = [dateList nextObject]))
{
exDates = [(iCalDateTime*) dateString valuesAtIndex: 0 forKey: @""];
for (i = 0; i < [exDates count]; i++)
exDates = [(iCalDateTime*) dateString dateTimes];
for (i = 0; i < [exDates count]; i++)
{
dateString = [exDates objectAtIndex: i];
exDate = [exDates objectAtIndex: i];
// Example: timezone is -0400, date is 2012-05-24 (00:00:00 +0000),
// and changes to 2012-05-24 04:00:00 +0000
if ([theTimeZone isKindOfClass: [iCalTimeZone class]])
{
exDate = [(iCalTimeZone *) theTimeZone computedDateForString: dateString];
exDate = [(iCalTimeZone *) theTimeZone computedDateForDate: exDate];
}
else
{
// Example: timezone is -0400, date is 2012-05-24 (00:00:00 +0000),
// and changes to 2012-05-24 04:00:00 +0000
exDate = [dateString asCalendarDate];
offset = [(NSTimeZone *) theTimeZone secondsFromGMTForDate: exDate];
exDate = (NSCalendarDate *) [exDate dateByAddingYears:0 months:0 days:0 hours:0 minutes:0
seconds:-offset];