diff --git a/ChangeLog b/ChangeLog index bd5b1c4c6..291905595 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-12-17 Wolfgang Sourdeau + + * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor + -dealloc]): we release componentCalendar here to avoid a leak + (since if set, it was through a call to ASSIGN()). + + * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor + -setComponent:newComponent]): since componentCalendar is released + at deallocation, we need to retain it, and to release the previous + value to avoid a leak... + 2008-12-15 Wolfgang Sourdeau * SoObjects/SOGo/SOGoObject.m ([SOGoObject +webdavAclManager]): diff --git a/UI/Scheduler/UIxAppointmentEditor.m b/UI/Scheduler/UIxAppointmentEditor.m index 2b725ecf3..11340aee8 100644 --- a/UI/Scheduler/UIxAppointmentEditor.m +++ b/UI/Scheduler/UIxAppointmentEditor.m @@ -62,6 +62,7 @@ event = nil; isAllDay = NO; isTransparent = NO; + componentCalendar = nil; } return self; @@ -73,6 +74,7 @@ [event release]; [aptStartDate release]; [aptEndDate release]; + [componentCalendar release]; [super dealloc]; } @@ -275,7 +277,6 @@ SOGoAppointmentObject *co; SoSecurityManager *sm; NSException *ex; - NSString *aOwner; co = [self clientObject]; if ([co isKindOfClass: [SOGoAppointmentOccurence class]]) diff --git a/UI/Scheduler/UIxComponentEditor.m b/UI/Scheduler/UIxComponentEditor.m index 6e26bd00c..8c2e5f98d 100644 --- a/UI/Scheduler/UIxComponentEditor.m +++ b/UI/Scheduler/UIxComponentEditor.m @@ -380,9 +380,11 @@ iRANGE(2); [self _loadAttendees]; [self _loadRRules]; + [componentCalendar release]; componentCalendar = [co container]; if ([componentCalendar isKindOfClass: [SOGoCalendarComponent class]]) componentCalendar = [componentCalendar container]; + [componentCalendar retain]; } } // /* cycles */