mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 16:30:41 +00:00
Re-instate change from svn revision 31412 (just trusting it's OK).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31502 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
33b8372877
commit
2b93292fc1
2 changed files with 29 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2010-10-12 David Chisnall <theraven@gna.org>
|
||||
|
||||
* Source/Additions/GSObjCRuntime.m:
|
||||
Add special case to KVC accessors for libobjc2: If there is a method
|
||||
with the wrong types, try calling the method with the correct types.
|
||||
This enables the TDD-fixup code to run and generate a KVC-compliant
|
||||
version of an existing method.
|
||||
|
||||
2010-10-12 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSURL.m: Exactly match the percent escaping used by OSX.
|
||||
|
|
|
@ -59,6 +59,9 @@
|
|||
#ifndef NeXT_RUNTIME
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
#ifdef __GNUSTEP_RUNTIME__
|
||||
extern struct objc_slot *objc_get_slot(Class, SEL);
|
||||
#endif
|
||||
|
||||
#ifdef NeXT_Foundation_LIBRARY
|
||||
@interface NSObject (MissingFromMacOSX)
|
||||
|
@ -1308,6 +1311,24 @@ GSObjCGetVal(NSObject *self, const char *key, SEL sel,
|
|||
break;
|
||||
|
||||
default:
|
||||
#ifdef __GNUSTEP_RUNTIME__
|
||||
{
|
||||
Class cls;
|
||||
struct objc_slot *type_slot;
|
||||
SEL typed;
|
||||
struct objc_slot *slot;
|
||||
|
||||
cls = [self class];
|
||||
type_slot = objc_get_slot(cls, @selector(retain));
|
||||
typed = sel_registerTypedName_np(sel_getName(sel),
|
||||
type_slot->types);
|
||||
slot = objc_get_slot(cls, typed);
|
||||
if (strcmp(slot->types, type_slot->types) == 0)
|
||||
{
|
||||
return slot->method(self, typed);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
val = [self valueForUndefinedKey:
|
||||
[NSString stringWithUTF8String: key]];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue