See ChangeLog
Monotone-Parent: ee188ecf014aadf3749779aa50df66d72a126c71 Monotone-Revision: 15c306f9d11152fee321b11e184bc75e9e2be6f8 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2012-01-27T15:21:51maint-2.0.2
parent
671feec0b4
commit
87e3db5391
10
ChangeLog
10
ChangeLog
|
@ -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 Ludovic Marcotte <lmarcotte@inverse.ca>
|
2012-01-26 Ludovic Marcotte <lmarcotte@inverse.ca>
|
||||||
|
|
||||||
* SoObjects/SOGo/LDAPSource.{h,m} - now honor
|
* SoObjects/SOGo/LDAPSource.{h,m} - now honor
|
||||||
|
|
|
@ -558,6 +558,11 @@ static NSNumber *sharedYes = nil;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
records = [NSArray array];
|
records = [NSArray array];
|
||||||
|
|
||||||
|
if ([self _checkIfWeCanRememberRecords: fields])
|
||||||
|
{
|
||||||
|
[self _rememberRecords: records];
|
||||||
|
}
|
||||||
|
|
||||||
return records;
|
return records;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SOGoAppointmentFolderObject.m - this file is part of SOGo
|
/* 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>
|
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
*
|
*
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#import <Foundation/NSArray.h>
|
#import <Foundation/NSArray.h>
|
||||||
|
#import <Foundation/NSAutoreleasePool.h>
|
||||||
#import <Foundation/NSCalendarDate.h>
|
#import <Foundation/NSCalendarDate.h>
|
||||||
#import <Foundation/NSDictionary.h>
|
#import <Foundation/NSDictionary.h>
|
||||||
#import <Foundation/NSString.h>
|
#import <Foundation/NSString.h>
|
||||||
|
@ -50,7 +51,7 @@ static NSArray *contentFields = nil;
|
||||||
if (!contentFields)
|
if (!contentFields)
|
||||||
contentFields = [[NSArray alloc] initWithObjects: @"c_name", @"c_version",
|
contentFields = [[NSArray alloc] initWithObjects: @"c_name", @"c_version",
|
||||||
@"c_lastmodified", @"c_creationdate",
|
@"c_lastmodified", @"c_creationdate",
|
||||||
@"c_component", nil];
|
@"c_component", @"c_content", nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id) init
|
- (id) init
|
||||||
|
@ -181,6 +182,7 @@ static NSArray *contentFields = nil;
|
||||||
NSArray *records;
|
NSArray *records;
|
||||||
NSMutableArray *calendars;
|
NSMutableArray *calendars;
|
||||||
SOGoCalendarComponent *component;
|
SOGoCalendarComponent *component;
|
||||||
|
NSAutoreleasePool *pool;
|
||||||
int count, max;
|
int count, max;
|
||||||
iCalCalendar *calendar;
|
iCalCalendar *calendar;
|
||||||
NSString *name;
|
NSString *name;
|
||||||
|
@ -188,8 +190,19 @@ static NSArray *contentFields = nil;
|
||||||
records = [self _fetchFolderRecords];
|
records = [self _fetchFolderRecords];
|
||||||
max = [records count];
|
max = [records count];
|
||||||
calendars = [NSMutableArray arrayWithCapacity: max];
|
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++)
|
for (count = 0; count < max; count++)
|
||||||
{
|
{
|
||||||
|
if (count % 100 == 0)
|
||||||
|
{
|
||||||
|
RELEASE(pool);
|
||||||
|
pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
}
|
||||||
|
|
||||||
name = [[records objectAtIndex: count] objectForKey: @"c_name"];
|
name = [[records objectAtIndex: count] objectForKey: @"c_name"];
|
||||||
component = [folder lookupName: name
|
component = [folder lookupName: name
|
||||||
inContext: context
|
inContext: context
|
||||||
|
@ -202,6 +215,8 @@ static NSArray *contentFields = nil;
|
||||||
@" be listed here", name];
|
@" be listed here", name];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RELEASE(pool);
|
||||||
|
|
||||||
return calendars;
|
return calendars;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue