On Nov 28, 2008, at 3:10 PM, Mathieu Coursolle wrote:
Thanks for your reply,

Even if I create other windows and delete them after, the lost controllers seem to be lost forever. I tried to select menu items and it actually speeds up the collection of some, but some are still lost forever. I waited for a while, continued to create/close windows, and it did not finalize. A lot of them will finalize, but if one is not, even if I continue to use the application for a while, gc-roots will always show me some roots,
as it shows no roots for the finalized ones.

As a test, I added the following code in the finalize method of the document with the same results.

for (NSWindowController* aController in [self windowControllers])
{
        [self removeWindowController:aController];
        NSWindow* aWindow = [aController window];
        [aController setWindow:nil];
        [aWindow setWindowController:nil];
}

I printed the roots again, it seems like I was able to get a bit more info. However, it seems like there are 2 roots this time.

Odd. One issue -- Your -finalize will never run if the collector doesn't think the object is garbage.

Please file a bug via http://bugreport.apple.com/, attach your sample project, and send me the bug #.

b.bum
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to