diff --git a/ChangeLog b/ChangeLog index 33f14ee8e..752192090 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,8 @@ * SoObjects/Mailer/EOQualifier+MailDAV.m (buildQualifierFromFilters:): Removed, everything is now done in (qualifierFromMailDAVMailFilters:). (qualifierFromMailDAVMailFilters:): Removed all parentheses in qualifier. + * SoObjects/Mailer/EOQualifier+MailDAV.m (qualifierFromMailDAVMailFilters:): + Fixed segfault when there are no filters. 2009-10-07 Francis Lachapelle diff --git a/SoObjects/Mailer/EOQualifier+MailDAV.m b/SoObjects/Mailer/EOQualifier+MailDAV.m index e15217cb1..b7a910004 100644 --- a/SoObjects/Mailer/EOQualifier+MailDAV.m +++ b/SoObjects/Mailer/EOQualifier+MailDAV.m @@ -37,6 +37,7 @@ + (id) qualifierFromMailDAVMailFilters: (DOMElement *) mailFilters { + EOQualifier *qualifier; NSMutableArray *args, *formats; NSArray *flags, *strings, *dates; NSString *valueA, *valueB, *tagName, *format, *negate; @@ -52,6 +53,7 @@ @"keywords", @"body", nil]; dates = [NSArray arrayWithObjects: @"date", @"receive-date", nil]; + formats = nil; list = [mailFilters childNodes]; if (list) { @@ -160,9 +162,16 @@ } } - format = [formats componentsJoinedByString: @" AND "]; - return [EOQualifier qualifierWithQualifierFormat: format - arguments: args]; + if (formats) + { + format = [formats componentsJoinedByString: @" AND "]; + qualifier = [EOQualifier qualifierWithQualifierFormat: format + arguments: args]; + } + else + qualifier = nil; + + return qualifier; } @end