[OGo-GNUstep-Port] exception when entering a project

Helge Hess gnustep-port@opengroupware.org
Tue, 27 Nov 2007 17:28:37 +0100


On 27.11.2007, at 15:53, Sebastian Reitenbach wrote:
> (gdb) frame 1
> #1  0x0ba90e28 in -[NSObject(KeyValueCoding)  
> setValue:forUndefinedKey:]
> (self=0x86859688, _cmd=0x2bad3510,
>     anObject=0x86859768, aKey=0x7f6f27e8) at NSKeyValueCoding.m:415
> 415           [self handleTakeValue: anObject forUnboundKey: aKey];
> (gdb) print *self
> $1 = {isa = 0x230d38a0}
> (gdb) po self
> <EOGenericRecord: description Project attributes={dbStatus = inserted;
> endDate = "2028-12-30 23:00:00 +0000"; isFake = 0; kind = "<NSNull:


I think we broke this with the last patch. EOGenericRecord does  
define -takeValue:forKey: which we now do not call anymore (but - 
setValue:forKey: instead).
This seems to break all 'old style KVC' code. Notably this does NOT  
break on MacOS (which supports both styles [-setValue:forKey: first  
checks for -takeValue:forKey:]]). So I still consider that a basic GS  
issue.


Anyways, adding this to EOGenericRecord.m might fix this specific  
issue, but probably others will pop up:
---snip---
#if GNUSTEP_BASE_LIBRARY
- (void)setValue:(id)_value forKey:(NSString *)_key {
   [self takeValue:_value forKey:_key];
}
#endif
---snap---

Greets,
   Helge
-- 
Helge Hess
http://www.helgehess.eu/