diff --git a/ChangeLog b/ChangeLog index ee00d67..959ff32 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ -2008-03-16 Matt Rice + + * EOControl/EOClassDescription.m ([NSObject-classDescriptionForClass:]): + Post notification only the first time the description is needed. + +2008-03-16 Matt Rice * EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m, * EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.h, @@ -271,7 +276,7 @@ * EOControl/EOClassDescription.h: Include NSDictionary.h to compile with new versions of -base/Foundation. -2007-11-27 David Ayers +2007-11-27 David Ayers * EOControl/EOClassDescription.h/m ([NSObject-validateTakeValue:forKeyPath:]): Implement. diff --git a/EOControl/EOClassDescription.m b/EOControl/EOClassDescription.m index 01696e4..e2a9bcf 100644 --- a/EOControl/EOClassDescription.m +++ b/EOControl/EOClassDescription.m @@ -164,15 +164,10 @@ static NSRecursiveLock *local_lock = nil; { EOClassDescription *classDescription; - EOFLOGObjectFnStart(); - - NSDebugMLLog(@"gsdb", @"aClass=%@", aClass); NSAssert(aClass, @"No class"); - NSDebugMLLog(@"gsdb", @"class name=%s", GSNameFromClass(aClass)); classDescription = NSMapGet(classDescriptionForClass, aClass); - NSDebugMLLog(@"gsdb", @"classDescription=%@", classDescription); if (!classDescription) { [[NSNotificationCenter defaultCenter] @@ -180,18 +175,16 @@ static NSRecursiveLock *local_lock = nil; object: aClass]; classDescription = NSMapGet(classDescriptionForClass, aClass); - NSDebugMLLog(@"gsdb", @"classDescription=%@", classDescription); if (!classDescription) { NSLog(@"Warning: No class description for class named: %s", - GSNameFromClass(aClass)); + NSStringFromClass(aClass)); } + NSMapInsert(classDescriptionForClass, aClass, GDL2_EONull); } - EOFLOGObjectFnStop(); - - return classDescription; + return classDescription == (id)GDL2_EONull ? nil : classDescription; } + (EOClassDescription *)classDescriptionForEntityName: (NSString *)entityName