Re: Questions regarding release
Re: Questions regarding release
- Subject: Re: Questions regarding release
- From: Rob Petrovec via Cocoa-dev <email@hidden>
- Date: Wed, 25 Sep 2019 16:09:28 -0600
> On Sep 25, 2019, at 2:52 PM, Rob Petrovec via Cocoa-dev
> <email@hidden> wrote:
>
>> Is it safe to do it after assigning the nsimage to the layer, but before
>> deleting the layer?
> I would think so, but it is hard to say without knowing what
> convertToNSImage:withOrientation actually does under the hood. It likely
> either retains or copies it. In either case, your release is safe & correct.
With that said, CALayer.contents will convert the NSImage into a
CGImageRef under the hood. So even your NSImage won’t live for very long.
—Rob
>> Is the IOObjectRelease() right or wrong ?
> I’m not entirely sure since I can’t find the docs for
> IOServicePortFromCGDisplayID. But just from the name of
> IODisplayCreateInfoDictionary alone, info needs to be released via
> CFRelease(info).
>
> —Rob
>
>
>> On Sep 25, 2019, at 1:31 PM, Gabriel Zachmann via Cocoa-dev
>> <email@hidden> wrote:
>>
>> A few years ago, I switched my code to ARC.
>>
>> Now, I have this in my code:
>>
>> CGImageRef imageRef = CGImageSourceCreateImageAtIndex( sourceRef, 0, NULL
>> );
>> ...
>> NSImage * nsimage = [self convertToNSImage: img withOrientation:
>> img_orientation];
>> assign nsimage to a layer
>> ...
>> CGImageRelease( imageRef );
>> ...
>> use the layer with the nsimage
>>
>> The doc for CGImageSourceCreateImageAtIndex() that I need to release
>> imageRef myself.
>> Is it safe to do it after assigning the nsimage to the layer, but before
>> deleting the layer?
>> Or should I keep the imageRef until the layer itself gets removed from its
>> super layer?
>>
>>
>> Also, I have some more release's in my code, and I would appreciate your
>> advice
>> whether or not I still need them. (Sometimes, I still get confused.)
>>
>> io_service_t serv = [self IOServicePortFromCGDisplayID: displayID];
>> CFDictionaryRef info = IODisplayCreateInfoDictionary(serv,
>> kIODisplayOnlyPreferredName);
>> IOObjectRelease(serv);
>>
>> Is the IOObjectRelease() right or wrong ?
>>
>>
>> Thanks a lot in advance.
>>
>> Best regards, Gabriel
>>
>>
>> _______________________________________________
>>
>> 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
_______________________________________________
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