Re: NSTextView retain count and HICocoaView problems
Re: NSTextView retain count and HICocoaView problems
- Subject: Re: NSTextView retain count and HICocoaView problems
- From: Tony Romano <email@hidden>
- Date: Thu, 15 Jul 2010 16:04:51 -0700
The reason dealloc is not being called is because you still have a
retain count > 0. In cases like this, personally, I always assume my
code is at fault. Once I have exhausted all known techniques trying to
resolve the discrepancy then I escalate it.
Your best bet is to use Instruments, force the leak, then examine how
the retains/released paired up. You'll find it. Instruments is a very
nice tool.
-Tony
On 7/15/10 3:30 PM, Ryan Joseph wrote:
On Jul 15, 2010, at 4:25 PM, Kyle Sluder wrote:
On Wed, Jul 14, 2010 at 9:39 AM, Ryan Joseph<email@hidden> wrote:
1) The retainCount from the newly created NSTextView returns 4 and goes up to 7 after I call HICocoaViewCreate on the NSTextView instance. I tried calling release on the NSTextView and DisposeControl on the HICocoaView but neither actually dispose of the instance because dealloc is never invoked. I suspect this is because of the retain count being what it is.
Do not look at -retainCount. It gives you no useful information. If
you want to make sure you're correctly balancing retains and releases,
use the static analyzer and Instruments.
Ok, others said this also so the system must be retaining it elsewhere for various reasons. The fact dealloc is never called after DisposeControl is confusing though since other NSView's worked just fine...
2) I have a Carbon event handler for mouse moved events installed on the application target which after the NSTextView is created stops working, probably because the NSTextView was never really deallocated it's consuming the mouse events.
That's not an accurate description of how the event dispatch works.
The how does it work? My observation is simple: when the NSTextView is created and focused the mouse handler does not receive events. After I call DisposeControl on the HICocoaView the view is removed (no longer visible) but the mouse handler continues to not receive events. They must be connected some how.
Regards,
Ryan Joseph
thealchemistguild.org
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden