diff --git a/ChangeLog b/ChangeLog index e1fb11c..51a8954 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-06-29 David Wetzel + * EOControl/EOFault.h + * EOControl/EOFaultHandler.m + unsigned -> NSUInteger + * EOControl/EOFault.m + unsigned -> NSUInteger + -release + fix as suggested by David Ayers + -dealloc + add NSAssert + 2010-06-28 David Wetzel * EOAccess/EODatabaseContext.m -initializeObject:withGlobalID:editingContext: diff --git a/EOControl/EOFault.h b/EOControl/EOFault.h index 14e8854..0d7f9bd 100644 --- a/EOControl/EOFault.h +++ b/EOControl/EOFault.h @@ -98,10 +98,10 @@ - (NSUInteger)retainCount; - (NSString *)description; -- (NSString *)descriptionWithIndent: (unsigned)level; +- (NSString *)descriptionWithIndent: (NSUInteger)level; - (NSString *)descriptionWithLocale: (NSDictionary *)locale; - (NSString *)descriptionWithLocale: (NSDictionary *)locale - indent: (unsigned)level; + indent: (NSUInteger)level; - (NSString *)eoDescription; - (NSString *)eoShallowDescription; @@ -126,7 +126,7 @@ void *_extraData; /* Cached memory contents of original object overwritten by fault handler reference. */ - unsigned _extraRefCount; + NSUInteger _extraRefCount; } - (void)setTargetClass: (Class)target extraData: (void *)data; @@ -135,7 +135,7 @@ - (void)incrementExtraRefCount; - (BOOL)decrementExtraRefCountIsZero; -- (unsigned)extraRefCount; +- (NSUInteger)extraRefCount; - (NSString *)descriptionForObject: (id)object; diff --git a/EOControl/EOFault.m b/EOControl/EOFault.m index 8780c57..aabbf5c 100644 --- a/EOControl/EOFault.m +++ b/EOControl/EOFault.m @@ -169,7 +169,7 @@ static Class EOFaultClass = NULL; if (object) { EOFault *fault = object; - unsigned int refs; + NSUInteger refs; NSAssert(handler, @"No Handler"); @@ -318,10 +318,10 @@ static Class EOFaultClass = NULL; - (void)release { - if ([_handler extraRefCount] <= 0) + if ([_handler decrementExtraRefCountIsZero]) + { [self dealloc]; - else - [_handler decrementExtraRefCountIsZero]; + } } - autorelease @@ -341,7 +341,7 @@ static Class EOFaultClass = NULL; return [_handler descriptionForObject: self]; } -- (NSString *)descriptionWithIndent: (unsigned)level +- (NSString *)descriptionWithIndent: (NSUInteger)level { return [self description]; } @@ -353,7 +353,7 @@ static Class EOFaultClass = NULL; } - (NSString *)descriptionWithLocale: (NSDictionary *)locale - indent: (unsigned)level + indent: (NSUInteger)level { return [self description]; } @@ -392,8 +392,9 @@ static Class EOFaultClass = NULL; - (void)dealloc { [EOFaultClass clearFault: self]; - if (![EOFaultClass isFault:self]) // otherwise, this loop. - [self dealloc]; + + NSAssert([EOFaultClass isFault:self]==NO, @"Object is a Fault not an EO"); + [self dealloc]; } - (NSZone *)zone @@ -435,9 +436,9 @@ static Class EOFaultClass = NULL; [invocation invoke]; } -- (unsigned int)hash +- (NSUInteger)hash { - unsigned int hash; + NSUInteger hash; EOFaultHandler *handler; Class fault; diff --git a/EOControl/EOFaultHandler.m b/EOControl/EOFaultHandler.m index 7e75bea..428fb22 100644 --- a/EOControl/EOFaultHandler.m +++ b/EOControl/EOFaultHandler.m @@ -101,7 +101,7 @@ RCS_ID("$Id$") return NO; } -- (unsigned)extraRefCount +- (NSUInteger)extraRefCount { return _extraRefCount; }