Re: Questions regarding release
Re: Questions regarding release
- Subject: Re: Questions regarding release
- From: Mike Abdullah via Cocoa-dev <email@hidden>
- Date: Thu, 26 Sep 2019 17:41:10 +0200
I don’t believe that’s entirely true. “make” methods return a +0 value.
The issue in the below code to my eye is that you allocate a path with
CGPathCreateWithRect (+1) but then don't release it.
Mike.
> On 26 Sep 2019, at 17:16, Glenn L. Austin via Cocoa-dev
> <email@hidden> wrote:
>
> The analyzer is great at what it does but it can't be omniscient about your
> code.
>
> When you start a method name with "make" or "new" or "create" it assumes that
> you're returning a +1 value.
>
> --
> Glenn L. Austin, Computer Wizard and Race Car Driver <><
> <http://www.austinsoft.com <http://www.austinsoft.com/>>
>
>> On Sep 26, 2019, at 6:05 AM, Gabriel Zachmann via Cocoa-dev
>> <email@hidden <mailto:email@hidden>> wrote:
>>
>>
>>>
>>> The Xcode "analyze" step should check for errors of this kind. I have xcode
>>> set to analyze on every build, since it's usually not too slow.
>>
>> Thanks a lot for the hint!
>>
>> I tried it and it works pretty well.
>> I actually found 2 (small) leaks.
>>
>> There is one place in my code (different from my OP),
>> where I get a "leaked" warning from the Analyzer, but I am not sure why that
>> is.
>>
>> Here is what the function basically does:
>>
>> - (void) makeTextLayerRectangle: (CATextLayer*) textlayer fontsize: (float)
>> fontsize text: (NSString*) text
>> {
>> ...
>> textlayer.bounds = CGRectMake( 0.0, 0.0, string_rect.width,
>> string_rect.height );
>> textlayer.shadowPath = CGPathCreateWithRect( textlayer.bounds, NULL );
>> }
>>
>>
>> But I get the warning
>> "Object leaked: allocated object of type 'CGPathRef _Nonnull' is not
>> referenced later in this execution path and has a retain count of +1"
>>
>> Note that text layer is a call-by-reference var.
>>
>> Is that just a bug in the Analyzer? Am I missing something?
>>
>> 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 <mailto:email@hidden>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden
> <mailto: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
> <http://lists.apple.com/>
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden <mailto: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