On Jan 11, 2011, at 5:49 PM, Eric Gorr wrote: > I do release them after adding them to the table. It will still crash...
I cannot reproduce the crash with your test project. Have you verified, using zombies, that in fact it is a table column crashing? It might have to do with an invalid data source object... > On Jan 11, 2011, at 7:29 PM, Peter Lübke <sound-fab...@gmx.de> wrote: > >> Table columns are retained by the table view they are added to. >> >> So you can safely release or autorelease the table column right after >> invoking -addTableColumn: . >> The table view owns its columns and will release them when it itself is >> released. >> >> This is the normal behaviour when adding subviews to an NSView or its >> subclasses. >> >> Peter >> >> >> Am 11.01.2011 um 18:06 schrieb Eric Gorr: >> >>> I've got a sample test project at: >>> >>> http://ericgorr.net/cocoadev/TableColumnTest.zip >>> >>> which reproduces the strange crash. >>> >>> I have a NSTableView to which I need to add NSTableColumns manually using >>> the addTableColumn: method. The problem is that for some reason when I >>> release the window and everything is being deallocated, someone has an >>> extra retain on the table column and it sticks around. This causes a crash >>> because the OS tries to redraw the table which really isn't there. >>> >>> Note: With the code as written, it will only cause a crash sometimes...if >>> you comment back in the call to the EventAvail function in >>> WindowTestAppDelegate.m, it will crash every time...this is how I ended up >>> finding the odd behavior to begin with - I am working with a cocoa/carbon >>> app and EventAvail is still being called. >>> >>> I can avoid the crash if, in my TableController class, I manually remove >>> the table column from the table first. Is this what I am expected to do if >>> I manually add the column? I would not have thought so, but perhaps I am >>> wrong...? >>> >>> In TableController.m, I have the function GetNewColumn which creates a new >>> table column. After I alloc and init the column, I can log the retain count >>> of the column and see that it is 1. After I call setWidth: on the table >>> column, I can see that the retain count is 2. >>> >>> Can anyone shed some light on what might be going on here and why it is >>> crashing? >>> >>> (if it matters, I am still running on 10.6.5) Keary Suska Esoteritech, Inc. "Demystifying technology for your home or business" _______________________________________________ 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 arch...@mail-archive.com