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
{