mirror of
https://github.com/gnustep/libs-base.git
synced 2025-06-02 09:31:07 +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>
|
2010-10-12 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSURL.m: Exactly match the percent escaping used by OSX.
|
* Source/NSURL.m: Exactly match the percent escaping used by OSX.
|
||||||
|
|
|
@ -59,6 +59,9 @@
|
||||||
#ifndef NeXT_RUNTIME
|
#ifndef NeXT_RUNTIME
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __GNUSTEP_RUNTIME__
|
||||||
|
extern struct objc_slot *objc_get_slot(Class, SEL);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NeXT_Foundation_LIBRARY
|
#ifdef NeXT_Foundation_LIBRARY
|
||||||
@interface NSObject (MissingFromMacOSX)
|
@interface NSObject (MissingFromMacOSX)
|
||||||
|
@ -1308,6 +1311,24 @@ GSObjCGetVal(NSObject *self, const char *key, SEL sel,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
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:
|
val = [self valueForUndefinedKey:
|
||||||
[NSString stringWithUTF8String: key]];
|
[NSString stringWithUTF8String: key]];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue