merge of '6e52ef029c1ba3330e77bd6dcc994c86557f4533'

and 'f9a1466ff29e3870ab75ba13c8294afbb2c94f0c'

Monotone-Parent: 6e52ef029c1ba3330e77bd6dcc994c86557f4533
Monotone-Parent: f9a1466ff29e3870ab75ba13c8294afbb2c94f0c
Monotone-Revision: 91b83ade7a4eee6cb72c4f6f7e456706d0484cf0

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-01-29T19:41:23
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2012-01-29 19:41:23 +00:00
commit 58fbfea325
5 changed files with 35 additions and 6 deletions

View File

@ -1,3 +1,13 @@
2012-01-27 Ludovic Marcotte <lmarcotte@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentFolder.m
(bareFetchFields: ...) - we now cache the returned
results - just like for fetchFields:...
* SoObjects/Appointments/SOGoAppointmentFolderObject.m
(_folderCalenars) - we now ask for the c_content and use
a local autorelease pool to avoid consuming too much memory
2012-01-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreCommonViewsContext.[hm],

View File

@ -558,6 +558,11 @@ static NSNumber *sharedYes = nil;
}
else
records = [NSArray array];
if ([self _checkIfWeCanRememberRecords: fields])
{
[self _rememberRecords: records];
}
return records;
}

View File

@ -1,6 +1,6 @@
/* SOGoAppointmentFolderObject.m - this file is part of SOGo
*
* Copyright (C) 2010 Inverse inc.
* Copyright (C) 2010-2012 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
@ -21,6 +21,7 @@
*/
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSCalendarDate.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSString.h>
@ -50,7 +51,7 @@ static NSArray *contentFields = nil;
if (!contentFields)
contentFields = [[NSArray alloc] initWithObjects: @"c_name", @"c_version",
@"c_lastmodified", @"c_creationdate",
@"c_component", nil];
@"c_component", @"c_content", nil];
}
- (id) init
@ -181,6 +182,7 @@ static NSArray *contentFields = nil;
NSArray *records;
NSMutableArray *calendars;
SOGoCalendarComponent *component;
NSAutoreleasePool *pool;
int count, max;
iCalCalendar *calendar;
NSString *name;
@ -188,8 +190,19 @@ static NSArray *contentFields = nil;
records = [self _fetchFolderRecords];
max = [records count];
calendars = [NSMutableArray arrayWithCapacity: max];
pool = nil;
// This can consume a significant amount of memory so
// we use a local autorelease pool to avoid running
// out of memory.
for (count = 0; count < max; count++)
{
if (count % 100 == 0)
{
RELEASE(pool);
pool = [[NSAutoreleasePool alloc] init];
}
name = [[records objectAtIndex: count] objectForKey: @"c_name"];
component = [folder lookupName: name
inContext: context
@ -202,6 +215,8 @@ static NSArray *contentFields = nil;
@" be listed here", name];
}
RELEASE(pool);
return calendars;
}

View File

@ -294,7 +294,7 @@
contact = [contacts lastObject];
email = [contact valueForKey: @"c_email"];
source = [contact objectForKey: @"source"];
if ([email length])
if ([email length] && [source MSExchangeHostname])
{
exchangeFreeBusy = [[MSExchangeFreeBusy alloc] init];
[exchangeFreeBusy autorelease];

View File

@ -30,8 +30,7 @@
"Disable auto reply on" = "Disable auto reply on";
"Please specify your message and your email addresses for which you want to enable auto reply."
= "Please specify your message and your email addresses for which you want to enable auto reply.";
""Your vacation message must not end with a single dot on a line."
= "Your vacation message must not end with a single dot on a line.";
"Your vacation message must not end with a single dot on a line." = "Your vacation message must not end with a single dot on a line.";
"End date of your auto reply must be in the future."
= "End date of your auto reply must be in the future.";
@ -296,4 +295,4 @@
"Password change is not supported." = "Password change is not supported.";
"Unhandled HTTP error code: %{0}" = "Unhandled HTTP error code: %{0}";
"New password:" = "New password:";
"Confirmation:" = "Confirmation:";
"Confirmation:" = "Confirmation:";