sort the timezone periods chronologically, in reverse order, to ensure that the most recent valid one is used
parent
948bafd2bf
commit
5c9298febf
|
@ -196,22 +196,18 @@ static NSArray *knownTimeZones;
|
||||||
NSArray *periods;
|
NSArray *periods;
|
||||||
NSEnumerator *periodsList;
|
NSEnumerator *periodsList;
|
||||||
iCalTimeZonePeriod *period;
|
iCalTimeZonePeriod *period;
|
||||||
NSCalendarDate *occurence;
|
NSCalendarDate *occurrence;
|
||||||
|
|
||||||
occurence = nil;
|
occurrence = nil;
|
||||||
periods = [self childrenWithTag: pName];
|
|
||||||
if ([periods count])
|
|
||||||
{
|
|
||||||
periodsList = [periods objectEnumerator];
|
|
||||||
period = (iCalTimeZonePeriod *) [periodsList nextObject];
|
|
||||||
while (occurence == nil && period)
|
|
||||||
{
|
|
||||||
occurence = [period occurenceForDate: aDate];
|
|
||||||
period = (iCalTimeZonePeriod *) [periodsList nextObject];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return occurence;
|
periods = [[self childrenWithTag: pName]
|
||||||
|
sortedArrayUsingSelector: @selector (compare:)];
|
||||||
|
periodsList = [periods reverseObjectEnumerator];
|
||||||
|
while (!occurrence
|
||||||
|
&& (period = (iCalTimeZonePeriod *) [periodsList nextObject]))
|
||||||
|
occurrence = [period occurrenceForDate: aDate];
|
||||||
|
|
||||||
|
return occurrence;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (iCalTimeZonePeriod *) periodForDate: (NSCalendarDate *) date
|
- (iCalTimeZonePeriod *) periodForDate: (NSCalendarDate *) date
|
||||||
|
|
Loading…
Reference in New Issue