Re: Transitioning to GC-supported

2009-10-27 Thread Sean McBride
On 10/26/09 8:38 AM, Jens Alfke said: >> 1. Apply workaround for interior pointers by '[containingObject >> self];' at >> the end of the method, to keep the containing object alive. > >A valid point, but in my experience this is a rare problem: I have >never run into an instance of a bug caused by

Re: Transitioning to GC-supported

2009-10-26 Thread Jens Alfke
On Oct 26, 2009, at 8:43 PM, Dave Keck wrote: For example, I have an object that [self retain]; while it does some work that takes awhile. I don't hold a reference to this object anywhere after it's created - it simply notifies its delegate when its finished. I remember a thread about this a

Re: Transitioning to GC-supported

2009-10-26 Thread Dave Keck
>> 4. Search for every call to -retain, -alloc, -init pairs, and -copy. >> Verify that the object being retained is strongly referenced, and if not, it >> must >> be CFRetain()ed or -disableCollectorForPointer: must be called for it. > > I'm not sure what you mean by this. For example, I have an

Re: Transitioning to GC-supported

2009-10-26 Thread John Engelhart
What follows is my $0.02, and is worth every penny you paid for it. :) On Mon, Oct 26, 2009 at 9:45 AM, Dave Keck wrote: > I'm planning on systematically going through each of my source files and > updating them to be GC-supported. I've been compiling a list of things to > do > and to look out

Re: Transitioning to GC-supported

2009-10-26 Thread Greg Parker
On Oct 26, 2009, at 6:45 AM, Dave Keck wrote: 3. Wrap all CF*Create(), CG*Create(), CF*Copy(), CG*Copy(), etc. with CFMakeCollectable(), and replace corresponding CFRelease()s with a custom macro - CFReleaseIfRC(). (This way, if I ever choose to go GC-only, I can simply remove all calls to C

Re: Transitioning to GC-supported

2009-10-26 Thread Jens Alfke
On Oct 26, 2009, at 6:45 AM, Dave Keck wrote: 1. Apply workaround for interior pointers by '[containingObject self];' at the end of the method, to keep the containing object alive. A valid point, but in my experience this is a rare problem: I have never run into an instance of a bug cause

Transitioning to GC-supported

2009-10-26 Thread Dave Keck
Hey list, Until recently, I didn't realize that System Preferences on 10.6 required preferences panes to be GC-supported. As such, I wrote my preference pane RC-only, and now I've got a fun few weeks ahead of me. :) I'm planning on systematically going through each of my source files and updating