From 12652ba81fbaf76f22eface33b18af94368f9ff2 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Sat, 21 Mar 2009 14:43:13 +0000 Subject: [PATCH] Monotone-Parent: d57d280e1a2c1d6903ab6e6d025a777f3c5e15f2 Monotone-Revision: 11c950d8b88fc8c605176ab5a6271f54b800c9a5 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-03-21T14:43:13 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ SoObjects/SOGo/SOGoUser.m | 23 +++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index ccfbbed6d..d6832731b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-03-21 Wolfgang Sourdeau + + * SoObjects/SOGo/SOGoUser.m ([SOGoUser + -initWithLogin:newLoginroles:newRoles]): removed "mailAccounts" ivar. + ([-mailAccounts]): no longer cache the mailAccounts info in an ivar. + 2009-03-20 Ludovic Marcotte * SoObjects/SOGo/SOGoUserDefaults.{h,m} diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index 38125f46e..3204b917c 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -264,7 +264,6 @@ _timeValue (NSString *key) allEmails = nil; currentPassword = nil; cn = nil; - mailAccounts = nil; } } else @@ -281,7 +280,6 @@ _timeValue (NSString *key) [allEmails release]; [currentPassword release]; [cn release]; - [mailAccounts release]; [super dealloc]; } @@ -692,10 +690,10 @@ _timeValue (NSString *key) } /* mail */ -- (void) _prepareDefaultMailAccounts +- (NSArray *) _prepareDefaultMailAccounts { NSMutableDictionary *mailAccount, *identity; - NSMutableArray *identities; + NSMutableArray *identities, *mailAccounts; NSString *name, *fullName, *imapLogin; NSArray *mails; unsigned int count, max; @@ -731,21 +729,19 @@ _timeValue (NSString *key) mailAccounts = [NSMutableArray new]; [mailAccounts addObject: mailAccount]; + + return mailAccounts; } - (NSArray *) mailAccounts { NSUserDefaults *ud; + NSArray *mailAccounts; + ud = [self userDefaults]; + mailAccounts = [ud objectForKey: @"MailAccounts"]; if (!mailAccounts) - { - ud = [self userDefaults]; - mailAccounts = [ud objectForKey: @"MailAccounts"]; - if (mailAccounts) - [mailAccounts retain]; - else - [self _prepareDefaultMailAccounts]; - } + mailAccounts = [self _prepareDefaultMailAccounts]; return mailAccounts; } @@ -835,8 +831,7 @@ _timeValue (NSString *key) { NSDictionary *defaultAccount; - [self mailAccounts]; - defaultAccount = [mailAccounts objectAtIndex: 0]; + defaultAccount = [[self mailAccounts] objectAtIndex: 0]; return [[defaultAccount objectForKey: @"identities"] objectAtIndex: 0]; }