diff --git a/Source/NSDistantObject.m b/Source/NSDistantObject.m index a9bba6d20..22c8a65d3 100644 --- a/Source/NSDistantObject.m +++ b/Source/NSDistantObject.m @@ -832,7 +832,6 @@ enum else { id m; - const char *types; #ifdef USE_FFCALL id inv; id sig; @@ -854,8 +853,13 @@ enum retframe = [self forward: _cmd : args]; m = retframe_id(retframe); #endif - types = [m methodType]; - return [NSMethodSignature signatureWithObjCTypes: types]; + if ([m isProxy] == YES) + { + const char *types = [m methodType]; + + m = [NSMethodSignature signatureWithObjCTypes: types]; + } + return m; } } } diff --git a/Source/NSDistributedNotificationCenter.m b/Source/NSDistributedNotificationCenter.m index 0cc770d2d..83500669a 100644 --- a/Source/NSDistributedNotificationCenter.m +++ b/Source/NSDistributedNotificationCenter.m @@ -575,9 +575,11 @@ static NSDistributedNotificationCenter *netCenter = nil; if (_remote != nil) { NSConnection *c = [_remote connectionForProxy]; +#if 0 // When all compilers support this Protocol *p = @protocol(GDNCProtocol); [_remote setProtocolForProxy: p]; +#endif /* * Ensure that this center can be used safely from different diff --git a/Tools/gdnc.m b/Tools/gdnc.m index 4f5f71b32..1e227a1eb 100644 --- a/Tools/gdnc.m +++ b/Tools/gdnc.m @@ -864,6 +864,7 @@ main(int argc, char** argv, char** env) #ifdef GS_PASS_ARGUMENTS [NSProcessInfo initializeWithArguments:argv count:argc environment:env]; #endif + [NSObject enableDoubleReleaseCheck: YES]; if (argc > 1 && strcmp(argv[argc-1], "-f") == 0) { shouldFork = NO;