Monotone-Parent: 390c5899c8e498b7d320dc7528a7ffbf31204b43

Monotone-Revision: a7332f5374e76477d1df1d08f12d1fc7f06af1a7

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-03-09T17:06:40
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2010-03-09 17:06:40 +00:00
parent 9da637263e
commit 0d8c134cb1
2 changed files with 9 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2010-03-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZonePeriod.m (_occurenceForDate:byRRule:): fixed
computing of timezone switch dates, which were offset by one week
too early.
2010-01-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m (-setTimeZone:): don't modify the date in case of

View File

@ -105,6 +105,8 @@
dateTime];
}
/* This method returns the date corresponding for to the start of the period
in the year of the reference date. */
- (NSCalendarDate *) _occurenceForDate: (NSCalendarDate *) refDate
byRRule: (iCalRecurrenceRule *) rrule
{
@ -132,12 +134,7 @@
second: -[self _secondsOfOffset: @"tzoffsetfrom"]];
dateDayOfWeek = [tmpDate dayOfWeek];
if (pos > 0)
offset = (dayOfWeek - dateDayOfWeek) + ((pos - 1) * 7);
else
offset = (dayOfWeek - dateDayOfWeek) + (pos * 7);
offset = (dayOfWeek - dateDayOfWeek) + (pos * 7);
tmpDate = [tmpDate addYear: 0 month: 0 day: offset
hour: 0 minute: 0 second: 0];