• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Preset leaks cocoa UI resources.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Preset leaks cocoa UI resources.


  • Subject: Re: Preset leaks cocoa UI resources.
  • From: Brian Willoughby <email@hidden>
  • Date: Tue, 14 Dec 2010 22:57:52 -0800

Mitsuhiro,

If you are using NSTimer with the target: set to point to an instance of your TestAudioUnit_CocoaView, then the behavior you describe is probably exactly as expected. This is exactly what Tahome was trying to point out.

I think perhaps you should look into breaking down the NSTimer, maybe before and after a new preset is loaded. Or look for a code path where the NSTimer is possibly holding on to a reference for the TestAudioUnit_CocoaView.

Keep in mind that -dealloc is only ever called once, and that's after every reference has been released. If the NSTimer is holding on to the TestAudioUnit_CocoaView instance as its target, then the TestAudioUnit_CocoaView will never be released.

In other words, you have some decent debugging in there, but you might want to do some additional debugging with regard to the NSTimer (or any other mechanism which might retain your TestAudioUnit_CocoaView instance).

Brian Willoughby
Sound Consulting


On Dec 14, 2010, at 18:15, Mitsuhiro Yoshida wrote:
Normaly, when CocoaView will appear, "setAU was called." log is written, and when CocoaView will disappear,
"dealloc was called." log is written.
But after I select preset from plugin's preset menu,
even if I remove the plugin from Logic, CocoaView's dealloc log wasn't written.


So I think this is Logic's bug.


On 10/12/14 20:03, tahome izwah wrote:
I'd start by overriding -release and -retain to see if this is really
a Logic problem and not just something that was there all along and
gets exposed in the latest version. Keep in mind that NSTimer retains
its parent class, so you might end up with a situation where neither
gets dealloc'd.

--th

2010/12/14 Mitsuhiro Yoshida <email@hidden>:
Hi, there.

I found that after I select preset from plugins menu, then Cocoa UI's dealloc wasn't called.
So, My plugin leaks resources. Actually I need to use NSTimer, so when
I use select menu, NSTimer leaked, and I got messy result.
This problem is reproduced only on Logic 9.1.3.
Logic 9.0.0 or Logic 9.1.0 doesn't have this problem.


So, I think this is bug of Logic 9.1.3

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Preset leaks cocoa UI resources.
      • From: 吉田光宏 <email@hidden>
References: 
 >Preset leaks cocoa UI resources. (From: Mitsuhiro Yoshida <email@hidden>)
 >Re: Preset leaks cocoa UI resources. (From: tahome izwah <email@hidden>)
 >Re: Preset leaks cocoa UI resources. (From: Mitsuhiro Yoshida <email@hidden>)

  • Prev by Date: Crashing in AUGraphAddNode on Tiger
  • Next by Date: Re: Preset leaks cocoa UI resources.
  • Previous by thread: Re: Preset leaks cocoa UI resources.
  • Next by thread: Re: Preset leaks cocoa UI resources.
  • Index(es):
    • Date
    • Thread