From fb7602562afcd4350ae64c7e2a81fdd7eb2b4a15 Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Mon, 19 Sep 2005 21:03:28 +0000 Subject: [PATCH] Fixed various memory leaks. --- PlaylistNode.m | 5 ++++- StatusWindowController.m | 1 + iTunesRemote.m | 5 +++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/PlaylistNode.m b/PlaylistNode.m index 12ae00b..050912c 100644 --- a/PlaylistNode.m +++ b/PlaylistNode.m @@ -27,7 +27,7 @@ _name = [n retain]; _type = t; _index = i; - _children = [[NSMutableArray alloc] init]; + _children = nil; _parent = nil; } return self; @@ -53,6 +53,9 @@ - (NSMutableArray *)children { + if (!_children) { + _children = [[NSMutableArray alloc] init]; + } return _children; } diff --git a/StatusWindowController.m b/StatusWindowController.m index a3336a6..db04626 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -193,6 +193,7 @@ static StatusWindowController *sharedController; [_window buildTextWindowWithString:text]; [_window appear:self]; + [text release]; } - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings diff --git a/iTunesRemote.m b/iTunesRemote.m index b5365b2..82b3b09 100755 --- a/iTunesRemote.m +++ b/iTunesRemote.m @@ -351,6 +351,7 @@ newParent = test; } } + [[[nextNode parent] children] removeObject:nextNode]; [nextNode setParent:newParent]; [[newParent children] addObject:nextNode]; [newParent setType:ITMTFolderNode]; @@ -361,6 +362,7 @@ NSEnumerator *nestEnumerator = [nested objectEnumerator]; while ( (nextNode = [nestEnumerator nextObject]) ) { [[sourceNode children] removeObject:nextNode]; + [nested removeObject:nextNode]; } [nested release]; @@ -370,12 +372,10 @@ enumerator = [[sourceNode children] reverseObjectEnumerator]; while ( (nextNode = [enumerator nextObject]) ) { if ([nextNode type] == ITMTPodcastsNode) { - [nextNode retain]; [[sourceNode children] removeObject:nextNode]; [[sourceNode children] insertObject:nextNode atIndex:1]; movedPodcasts = YES; } else if ([nextNode type] == ITMTFolderNode) { - [nextNode retain]; [[sourceNode children] removeObject:nextNode]; [[sourceNode children] insertObject:nextNode atIndex:1 + movedPodcasts]; } @@ -1074,6 +1074,7 @@ ITDebugLog(@"iTunes' highLPongOfPSN: %lu.", number.highLongOfPSN); ITDebugLog(@"iTunes' lowLongOfPSN: %lu.", number.lowLongOfPSN); ITDebugLog(@"Done getting iTunes' PSN."); + [(NSString *)name release]; return number; } [(NSString *)name release]; -- 2.20.1