From c31e3f9d2406489aeaad929430dfb2ef091e9f12 Mon Sep 17 00:00:00 2001 From: C Robert Date: Wed, 7 Oct 2009 21:29:50 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 8e6238fb5afca88582d8e5b9645e8f690b18ddd8 Monotone-Revision: 9485d114a246f06ae3df1b188de52f46783459ec Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-10-07T21:29:50 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 ++ SoObjects/Mailer/EOQualifier+MailDAV.m | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) 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