From: wolfgang Date: Thu, 24 Jan 2008 17:11:48 +0000 (+0000) Subject: git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1339 d1b88da0-ebda-0310... X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93dc996ca55d6e88041cc2dacd11eb62f82fdb65;p=scalable-opengroupware.org git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1339 d1b88da0-ebda-0310-925b-ed51d893ca5b --- diff --git a/ChangeLog b/ChangeLog index 2c004999..08e20983 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2008-01-24 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoUser.m ([SOGoUser + +userWithLogin:newLoginroles:newRoles]): test if the user is well + initialized before registering it with the SOGo cache. + ([SOGoUser -initWithLogin:newLoginroles:newRoles]): returns a user + only if the realUID has been found, otherwise we dealloc self and + return nil. + * SoObjects/Appointments/SOGoAppointmentFolder.m: if c_cycleinfo is an NSNull instance, we consider it to be empty and return automatically with an error message in the log. diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index fe0aa2a6..b0f1c6b7 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -133,8 +133,11 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek"; if (!user) { user = [[self alloc] initWithLogin: newLogin roles: newRoles]; - [user autorelease]; - [cache registerUser: user]; + if (user) + { + [user autorelease]; + [cache registerUser: user]; + } } [user setPrimaryRoles: newRoles]; @@ -173,7 +176,13 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek"; realUID = [[um contactInfosForUserWithUIDorEmail: newLogin] objectForKey: @"c_uid"]; } - self = [super initWithLogin: realUID roles: newRoles]; + if (realUID) + self = [super initWithLogin: realUID roles: newRoles]; + else + { + [self release]; + self = nil; + } return self; }