diff --git a/ChangeLog b/ChangeLog index 1252aa993..1b01aafe2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2009-02-06 Wolfgang Sourdeau + * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor -dealloc]) + ([UIxTaskEditor -todo]): same as below (apts). + + * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor + -event]): retain the event parent calendar object instead of the + event itself. + ([UIxAppointmentEditor -dealloc]): release the above calendar. + + * UI/MailPartViewers/UIxMailPartICalViewer.m + ([UIxMailPartICalViewer -dealloc]): no longer release "inEvent" + since it does not need to be retained. + * Main/SOGo.m ([SOGo +initialize]): added handling of the "SOGoDebugLeaks" configuration variable. ([SOGo -dispatchRequest:_request]): log the classes of instances diff --git a/SOPE/NGCards/CardElement.m b/SOPE/NGCards/CardElement.m index 56d04798c..079221f37 100644 --- a/SOPE/NGCards/CardElement.m +++ b/SOPE/NGCards/CardElement.m @@ -105,7 +105,6 @@ - (void) dealloc { - [parent release]; [tag release]; [group release]; [attributes release]; @@ -115,8 +114,7 @@ - (void) setParent: (CardGroup *) aParent { -#warning THIS CAUSES A LEAK. We need this for the moment because of a design error. - ASSIGN (parent, aParent); + parent = aParent; } - (id) parent diff --git a/UI/MailPartViewers/UIxMailPartICalViewer.m b/UI/MailPartViewers/UIxMailPartICalViewer.m index 5ee210d4c..4a18f0284 100644 --- a/UI/MailPartViewers/UIxMailPartICalViewer.m +++ b/UI/MailPartViewers/UIxMailPartICalViewer.m @@ -57,7 +57,6 @@ [attendee release]; [item release]; [inCalendar release]; - [inEvent release]; [dateFormatter release]; [super dealloc]; } @@ -67,7 +66,7 @@ - (void) resetPathCaches { [super resetPathCaches]; - [inEvent release]; inEvent = nil; + inEvent = nil; [inCalendar release]; inCalendar = nil; [storedEventObject release]; storedEventObject = nil; [storedEvent release]; storedEvent = nil; @@ -104,7 +103,7 @@ { events = [[self inCalendar] events]; if ([events count] > 0) - inEvent = [[events objectAtIndex: 0] retain]; + inEvent = [events objectAtIndex: 0]; } return inEvent; diff --git a/UI/Scheduler/UIxAppointmentEditor.m b/UI/Scheduler/UIxAppointmentEditor.m index ab719ab06..a28b0828f 100644 --- a/UI/Scheduler/UIxAppointmentEditor.m +++ b/UI/Scheduler/UIxAppointmentEditor.m @@ -74,7 +74,7 @@ - (void) dealloc { [item release]; - [event release]; + [[event parent] release]; [aptStartDate release]; [aptEndDate release]; [componentCalendar release]; @@ -87,7 +87,7 @@ if (!event) { event = (iCalEvent *) [[self clientObject] occurence]; - [event retain]; + [[event parent] retain]; } return event; diff --git a/UI/Scheduler/UIxTaskEditor.m b/UI/Scheduler/UIxTaskEditor.m index 090fde75f..8d1af4a29 100644 --- a/UI/Scheduler/UIxTaskEditor.m +++ b/UI/Scheduler/UIxTaskEditor.m @@ -67,7 +67,7 @@ [statusDate release]; [status release]; [statusPercent release]; - [todo release]; + [[todo parent] release]; [super dealloc]; } @@ -77,7 +77,7 @@ if (!todo) { todo = (iCalToDo *) [[self clientObject] component: YES secure: YES]; - [todo retain]; + [[todo parent] retain]; } return todo;