mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
Retain/Release and DO patches from Richard Frith-MacDonald
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2571 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
6a21926d00
commit
d88b91f6bb
25 changed files with 697 additions and 134 deletions
|
@ -320,7 +320,7 @@ extraRefCount (id anObject)
|
|||
if (double_release_check_enabled)
|
||||
{
|
||||
unsigned release_count;
|
||||
unsigned retain_count = extraRefCount(self);
|
||||
unsigned retain_count = [self retainCount];
|
||||
release_count = [autorelease_class autoreleaseCountForObject:self];
|
||||
if (release_count > retain_count)
|
||||
[NSException
|
||||
|
@ -421,9 +421,9 @@ extraRefCount (id anObject)
|
|||
if (double_release_check_enabled)
|
||||
{
|
||||
unsigned release_count;
|
||||
unsigned retain_count = extraRefCount(self);
|
||||
unsigned retain_count = [self retainCount];
|
||||
release_count = [autorelease_class autoreleaseCountForObject:self];
|
||||
if (release_count > retain_count)
|
||||
if (release_count >= retain_count)
|
||||
[NSException raise: NSGenericException
|
||||
format: @"Release would release object too many times."];
|
||||
}
|
||||
|
@ -458,11 +458,7 @@ extraRefCount (id anObject)
|
|||
|
||||
- (unsigned) retainCount
|
||||
{
|
||||
unsigned release_count;
|
||||
unsigned retain_count = extraRefCount(self) + 1;
|
||||
release_count = [autorelease_class autoreleaseCountForObject:self];
|
||||
|
||||
return retain_count - release_count;
|
||||
return extraRefCount(self) + 1;
|
||||
}
|
||||
|
||||
+ (unsigned) retainCount
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue