On Wednesday, July 09, 2008, at 03:12PM, "Wade Tregaskis" <[EMAIL PROTECTED]> 
wrote:
>> I have a memory management question. I was looking at the QCTV  
>> example on from the quicktime site. It has some code that does the  
>> following:
>>
>> ICMCompressionSessionOptionsRef options;
>>
>> ..
>>
>> Do some work
>> ..
>>
>> return (ICMCompressionSessionOptionsRef)[(id)options autorelease];
>>
>> Can you do this with CoreFoundation allocated things that are not  
>> bridged?
>
>Autorelease pools ultimately just invoke -(void)release on the  
>objects.  If the object is not a true ObjC object or a bridged CF  
>object, this will not work.  I'm not sure what the result will be -  
>whether it'll crash or do nothing or what.  Fair to say the result is  
>undefined and invariably bad.

Since ICMCompressionSessionOptionsGetTypeID returns a CFTypeID, 
ICMCompressionSessionOptionsRef is apparently a CFType.  As such, autorelease 
should work with it:

http://www.cocoabuilder.com/archive/message/cocoa/2008/7/5/212046

I wish this were better documented; the Search Kit docs show autorelease being 
sent to an SKDocumentRef, also, and that's always made me nervous (I think I 
actually sent feedback on that one a long time ago).

-- 
Adam
_______________________________________________

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