* Source/GSServicesManager.m (NSPerformService): Check whether the

service provider is remote by checking the class of the object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20162 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Alexander Malmberg 2004-09-27 15:53:04 +00:00
parent 56e200830d
commit 2e391ee77e
2 changed files with 18 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2004-09-27 17:49 Alexander Malmberg <alexander@malmberg.org>
* Source/GSServicesManager.m (NSPerformService): Check whether the
service provider is remote by checking the class of the object.
2004-09-26 22:18 Alexander Malmberg <alexander@malmberg.org>
* Source/NSTabViewItem.m (-drawLabel:inRect:): Adjust the label

View file

@ -1497,7 +1497,19 @@ NSPerformService(NSString *serviceItem, NSPasteboard *pboard)
* If the service provider is a remote object, we can set timeouts on
* the NSConnection so we don't hang waiting for it to reply.
*/
if ([provider isProxy] == YES)
/*
This check for a remote object is ugly. When GSListener is reworked,
this should be improved.
For now, we can't use -isProxy since GSListener is a proxy, and we can't
use -isKindOfClass: since it gets forwarded. Fortunately, -class isn't
forwarded, so that's what we use.
(Note, though, that we can't even use
[provider class] == [GSListener class] since [GSListener -class] returns
NULL instead of the real class.)
*/
if ([provider class] == [NSDistantObject class])
{
NSConnection *connection;