diff --git a/ActiveSync/iCalAlarm+ActiveSync.m b/ActiveSync/iCalAlarm+ActiveSync.m index a74b70726..4be9e581a 100644 --- a/ActiveSync/iCalAlarm+ActiveSync.m +++ b/ActiveSync/iCalAlarm+ActiveSync.m @@ -82,7 +82,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. trigger = [iCalTrigger elementWithTag: @"TRIGGER"]; [trigger setValueType: @"DURATION"]; [self setTrigger: trigger]; - if (![self action]) + if (![[self action] length]) [self setAction: @"DISPLAY"]; // SOGo web ui only supports 1w but not 2w (custom reminder only supports min/hours/days) @@ -120,7 +120,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } [self setTrigger: trigger]; - if (![self action]) + if (![[self action] length]) [self setAction: @"DISPLAY"]; } } diff --git a/ActiveSync/iCalToDo+ActiveSync.m b/ActiveSync/iCalToDo+ActiveSync.m index 44e9b6263..3512a09b6 100644 --- a/ActiveSync/iCalToDo+ActiveSync.m +++ b/ActiveSync/iCalToDo+ActiveSync.m @@ -102,10 +102,22 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. if ([self hasAlarms]) { iCalAlarm *alarm; + NSString *webstatus; - alarm = [self firstDisplayOrAudioAlarm]; - [s appendFormat: @"%d", 1]; - [s appendString: [alarm activeSyncRepresentationInContext: context]]; + if ((alarm = [self firstSupportedAlarm])) + { + webstatus = [[alarm trigger] value: 0 ofAttribute: @"x-webstatus"]; + if (!webstatus || ([webstatus caseInsensitiveCompare: @"TRIGGERED"] != NSOrderedSame)) + [s appendFormat: @"%d", 1]; + else + [s appendFormat: @"%d", 0]; + + [s appendString: [alarm activeSyncRepresentationInContext: context]]; + } + else + { + [s appendFormat: @"%d", 0]; + } } else {