Monotone-Parent: 2cafdbe57b649f3842f8bc101e3a2eb5ff10af5c

Monotone-Revision: 113f81e1676d886a71b93cdd6b7aff23ada6b5e4

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-11-08T18:36:52
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-11-08 18:36:52 +00:00
parent 40b8b1a463
commit 210b31476f
2 changed files with 23 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2011-11-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreRecurrenceUtils.m
(-fillRecurrencePattern:withStartDate:andEndDate:): fixed a crash
occurring when no byday mask was specified. We also force a value
for the monthday in the case of a yearly event without a proper
one.
2011-11-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreFolder.m (-addProperties:): we now override

View File

@ -305,6 +305,14 @@
rp->FirstDateTime = [moduloDate asMinutesSince1601];
byMonthDay = [[self byMonthDay] objectAtIndex: 0];
if (!byMonthDay && (freq == iCalRecurrenceFrequenceYearly))
{
byMonthDay = [NSString stringWithFormat: @"%d", [startDate dayOfMonth]];
[self warnWithFormat: @"no month day specified in yearly"
@" recurrence: we deduce it from the start date: %@",
byMonthDay];
}
if (byMonthDay)
{
if ([byMonthDay intValue] < 0)
@ -325,11 +333,14 @@
{
rp->PatternType = PatternType_MonthNth;
byDayMask = [self byDayMask];
days = [byDayMask weekDayOccurrences];
mask = 0;
for (count = 0; count < 7; count++)
if (days[0][count])
mask |= 1 << count;
days = [byDayMask weekDayOccurrences];
if (days)
{
for (count = 0; count < 7; count++)
if (days[0][count])
mask |= 1 << count;
}
if (mask)
{
rp->PatternTypeSpecific.MonthRecurrencePattern.WeekRecurrencePattern = mask;