[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Need advice about NSTextField, performClick IBAction, and memory man
From: |
bertrand . dekoninck |
Subject: |
Re: Need advice about NSTextField, performClick IBAction, and memory management |
Date: |
Fri, 14 Dec 2018 13:23:39 +0100 |
Envoyé de mon iPhone
> Le 14 déc. 2018 à 09:23, David Chisnall <gnustep@theravensnest.org> a écrit :
>
>> On 14/12/2018 06:09, Josh Freeman wrote:
>> These three lines in createNewTask: cause the issue:
>> NSString *string = [[NSString alloc] init];
>> string = [textField stringValue];
>> ...
>> [string release];// With this, I've got an "exec_BAD_ACCESS" error when
>> calling three times in a row createNewTask with the same string in textField
>> The first line sets 'string' to a retained, empty string object. The next
>> line sets 'string' to the object returned by [textField stringValue],
>> leaking the previous string object (its address was forgotten while it was
>> still retained). 'String' then points to an object that wasn't retained by
>> your code, so sending it a release message will cause it to deallocate while
>> it's still referenced elsewhere (segfaulting if it's accessed after that).
>> You can fix the issue by removing the first & third lines (empty-string
>> allocation, release call), and moving the 'string' var definition to the
>> second line:
>
> Note: you can also fix the issue by removing all references to retain /
> release and compiling with -fobjc-arc. There is absolutely no reason for not
> doing this in new Objective-C code. It will work with macOS, iOS, watchOS,
> tvOS, and GNUstep, and the compiler will generate code that is faster,
> smaller, and more likely to be correct than if you do this by hand.
>
> David
>
> __
Hillegass' book is several years old now. I've begun another one on Objc2 but
I'm not at the arc section yet. Also, I want my code to run on ppc where objc2
isn't an option yet.
Bertrand
> _____________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
- Need advice about NSTextField, performClick IBAction, and memory management, Bertrand Dekoninck, 2018/12/13
- Re: Need advice about NSTextField, performClick IBAction, and memory management, Josh Freeman, 2018/12/14
- Re: Need advice about NSTextField, performClick IBAction, and memory management, David Chisnall, 2018/12/14
- Re: Need advice about NSTextField, performClick IBAction, and memory management,
bertrand . dekoninck <=
- Re: Need advice about NSTextField, performClick IBAction, and memory management, Riccardo Mottola, 2018/12/14
- Re: Need advice about NSTextField, performClick IBAction, and memory management, Bertrand Dekoninck, 2018/12/14