diff --git a/ChangeLog b/ChangeLog index bec63b6db..eb6879358 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-04-27 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoObject.m ([SOGoObject -init]): do not invoke + initWithName:inContainer:. Instead, directly initialize the ivars + as it is supposed to be to avoid an infinite loop whenever one of + those two methods are overriden. + * SoObjects/SOGo/SOGoContentObject.m ([-rolesOfUser:login]): removed method. diff --git a/SoObjects/SOGo/SOGoObject.m b/SoObjects/SOGo/SOGoObject.m index 0a483e289..fff695fc1 100644 --- a/SoObjects/SOGo/SOGoObject.m +++ b/SoObjects/SOGo/SOGoObject.m @@ -382,19 +382,28 @@ static BOOL kontactGroupDAV = YES; } - (id)initWithName:(NSString *)_name inContainer:(id)_container { - if ((self = [super init])) { - context = [[WOApplication application] context]; - [context retain]; - nameInContainer = [_name copy]; - container = - [self doesRetainContainer] ? [_container retain] : _container; - customOwner = nil; - } + if ((self = [self init])) + { + context = [[WOApplication application] context]; + [context retain]; + nameInContainer = [_name copy]; + container = + [self doesRetainContainer] ? [_container retain] : _container; + customOwner = nil; + } + return self; } -- (id)init { - return [self initWithName:nil inContainer:nil]; +- (id) init +{ + if ((self = [super init])) + { + nameInContainer = nil; + container = nil; + } + + return self; } - (void)dealloc {