diff --git a/ChangeLog b/ChangeLog index 470c510..e486eb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,9 @@ (-[EOObserverProxy initWithTarget:action:priority:]): Implement. (-[EOObserverProxy dealloc],-[EOObserverProxy priority]) (-[EOObserverProxy subjectChanged]): Ditto. + + * EOAccess/EOEntity.m (-[setName:]): Skip the uniqueing if the + name is the same. 2004-09-25 David Ayers diff --git a/EOAccess/EOEntity.m b/EOAccess/EOEntity.m index f71ff2c..e8f2af5 100644 --- a/EOAccess/EOEntity.m +++ b/EOAccess/EOEntity.m @@ -1874,14 +1874,21 @@ createInstanceWithEditingContext:globalID:zone: - (void)setName: (NSString *)name { - if ([_model entityNamed: name]) - [NSException raise: NSInvalidArgumentException - format: @"%@ -- %@ 0x%x: \"%@\" already used in the model", - NSStringFromSelector(_cmd), - NSStringFromClass([self class]), - self, - name]; + if (name && [name isEqual: _name]) return; + if (name + && [name isEqual: _name] == NO + && [_model entityNamed: name] != nil) + { + [NSException raise: NSInvalidArgumentException + format: @"%@ -- %@ 0x%x: \"%@\" already used in the model", + NSStringFromSelector(_cmd), + NSStringFromClass([self class]), + self, + name]; + } + + [self willChange]; ASSIGNCOPY(_name, name); [_model _updateCache]; }