From 030c5cde99416f750ad04e5dd9f0bc6d6ddb2994 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 13 Aug 2010 21:23:56 +0000 Subject: [PATCH] Monotone-Parent: 46e2b0eb136b0ff20576ecbaa9428e3c5bcd2ce7 Monotone-Revision: af7a7cd27a47902f3807ddbe5a9716197f08eeab Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-08-13T21:23:56 Monotone-Branch: ca.inverse.sogo --- SOPE/NGCards/iCalAlarm.m | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/SOPE/NGCards/iCalAlarm.m b/SOPE/NGCards/iCalAlarm.m index cc7bc363e..03b6e33dd 100644 --- a/SOPE/NGCards/iCalAlarm.m +++ b/SOPE/NGCards/iCalAlarm.m @@ -27,6 +27,7 @@ #import "iCalEvent.h" #import "iCalRecurrenceRule.h" #import "iCalTrigger.h" +#import "iCalToDo.h" #import "NSString+NGCards.h" #import "iCalAlarm.h" @@ -114,14 +115,13 @@ NSCalendarDate *relationDate, *nextAlarmDate; NSString *relation; NSTimeInterval anInterval; - iCalEvent *parentEvent; nextAlarmDate = nil; parentClass = [parent class]; - if ([parentClass isKindOfClass: [iCalEvent class]]) + if ([parentClass isKindOfClass: [iCalEvent class]] + || [parentClass isKindOfClass: [iCalToDo class]]) { - parentEvent = (iCalEvent *) parent; aTrigger = [self trigger]; if ([[aTrigger valueType] caseInsensitiveCompare: @"DURATION"]) @@ -129,9 +129,14 @@ relation = [aTrigger relationType]; anInterval = [[aTrigger value] durationAsTimeInterval]; if ([relation caseInsensitiveCompare: @"END"] == NSOrderedSame) - relationDate = [parentEvent endDate]; + { + if ([parentClass isKindOfClass: [iCalEvent class]]) + relationDate = [(iCalEvent *) parent endDate]; + else + relationDate = [(iCalToDo *) parent due]; + } else - relationDate = [parentEvent startDate]; + relationDate = [(iCalEntityObject *) parent startDate]; // Compute the next alarm date with respect to the reference date if ([relationDate isNotNull])