* EOControl/EOClassDescription.m ([NSObject-classDescriptionForClass:]):

Post notification only the first time the description is needed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26331 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Ayers 2008-03-17 14:22:58 +00:00
parent 57a4402ce4
commit b690894f53
2 changed files with 10 additions and 12 deletions

View file

@ -1,4 +1,9 @@
2008-03-16 Matt Rice <ratmice@gmail.com
2008-03-06 David Ayers <ayers@fsfe.org>
* EOControl/EOClassDescription.m ([NSObject-classDescriptionForClass:]):
Post notification only the first time the description is needed.
2008-03-16 Matt Rice <ratmice@gmail.com>
* 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 <ayers@fsfe.org>
* EOControl/EOClassDescription.h/m
([NSObject-validateTakeValue:forKeyPath:]): Implement.

View file

@ -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