Skip navigation.
 
mlRe: NSSpeechSynthesizer leaking
FROM : Vince DeMarco
DATE : Tue Dec 20 20:13:28 2005

in speachSynthesizer:didFinishSpeaking: you are retaining the inSender

which seems wrong, and will cause a leak.


On Dec 20, 2005, at 11:10 AM, Casey Fleser wrote:

> I just need a quick sanity check to make sure I'm not seeing 
> something obvious here before I submit this to Radar. Looks to me 
> that NSSpeechSynthesizer isn't cleaning up after itself properly.
>
> Just a quick and simple action to that grabs some text from an 
> NSTextField. I subclassed NSSpeechSynthesizer 
> (DebugSpeechSynthesizer) so I could NSLog from retain, release, and 
> dealloc. DebugSpeechSynthesizer is getting dealloc'd, but there are 
> huge chunks of memory that are not being reclaimed (the main 
> culprits seem to live in MacinTalk  AudioToolbox according to 
> ObjectAlloc).
>
> So anyway, am I missing something here? (for the record 
> DebugSpeechSynthesizer does call [super dealloc]). Clicking the 
> speak button repeatedly in my little sample app will consume 
> hundreds of megabytes of memory pretty quickly.
>
> - (IBAction) speak: (id) inSender
> {
>     NSSpeechSynthesizer        *synthesizer =
>         [[DebugSpeechSynthesizer alloc] initWithVoice:
>         [NSSpeechSynthesizer defaultVoice]];
>     
>     if (synthesizer != nil) {
>         [synthesizer setDelegate: self];
>         [synthesizer startSpeakingString: [_speechText stringValue]];
>     }
> }
>
> - (void) speechSynthesizer: (NSSpeechSynthesizer *) inSender
>     didFinishSpeaking: (BOOL) inFinishedSpeaking
> {
>     NSLog(@"NSSpeechSynthesizer %@ finished", inSender);
>     
>     [inSender release];
> }
>
> The demonstration app can be grabbed here if you like:
>
> http://www.somegeekintn.com/download/SpeechTest.zip
>
> Thanks for any insight,
>
> Casey
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Cocoa-dev mailing list      (<email_removed>)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>

Related mailsAuthorDate
mlNSSpeechSynthesizer leaking Casey Fleser Dec 20, 20:10
mlRe: NSSpeechSynthesizer leaking Vince DeMarco Dec 20, 20:13
mlRe: NSSpeechSynthesizer leaking Casey Fleser Dec 20, 20:39
mlRe: NSSpeechSynthesizer leaking Ricky Sharp Dec 20, 23:36
mlRe: NSSpeechSynthesizer leaking Vince DeMarco Dec 21, 00:27
mlRe: NSSpeechSynthesizer leaking Casey Fleser Dec 21, 16:17