From dc95fa4dc6863e7b6f109d623dd4c9638d80be9c Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Tue, 3 Dec 2002 12:41:57 +0000 Subject: [PATCH] Yay, no more leaks. --- MenuTunes.m | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/MenuTunes.m b/MenuTunes.m index bcc5590..a2a1595 100755 --- a/MenuTunes.m +++ b/MenuTunes.m @@ -15,9 +15,6 @@ Things to do: - going to need a different way of defining key combos ¥ Optimize, this thing is big and slow :( ¥ Apple Events! Apple Events! Apple Events! - -¥ I think I found a slight memory leak: - 425 MenuTunes 7.8% 8:29.87 1 56 4827 215M+ 3.14M 135M- 599M+ */ #import "MenuTunes.h" @@ -392,13 +389,14 @@ target:self selector:@selector(timerUpdate) userInfo:nil repeats:YES]; Size length; NSString *result; Ptr buffer; + ComponentInstance myComponent = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype); script = [NSString stringWithFormat:@"tell application \"iTunes\"\n%@\nend tell", script]; AECreateDesc(typeChar, [script cString], [script cStringLength], &scriptDesc); - OSADoScript(OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype), &scriptDesc, kOSANullScript, typeChar, kOSAModeCanInteract, &resultDesc); + OSADoScript(myComponent, &scriptDesc, kOSANullScript, typeChar, kOSAModeCanInteract, &resultDesc); length = AEGetDescDataSize(&resultDesc); buffer = malloc(length); @@ -406,6 +404,7 @@ target:self selector:@selector(timerUpdate) userInfo:nil repeats:YES]; AEGetDescData(&resultDesc, buffer, length); AEDisposeDesc(&scriptDesc); AEDisposeDesc(&resultDesc); + CloseComponent(myComponent); result = [NSString stringWithCString:buffer length:length]; if (![result isEqualToString:@""] && ([result characterAtIndex:0] == '\"') && -- 2.20.1