[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DO is not using method types from remote objects
From: |
Stefan Urbanek |
Subject: |
Re: DO is not using method types from remote objects |
Date: |
Sun, 15 Jun 2003 11:52:19 +0200 |
On 2003-06-15 11:19:01 +0200 Richard Frith-Macdonald <richard@brainstorm.co.uk>
wrote:
On Sunday, June 15, 2003, at 09:38 am, Stefan Urbanek wrote:
Hi,
This is a bit larger problem with DO and selectors. Problem is that somewhere
in gnustep DO wrong selector types are used. DO mechanism does not use selector
types from remote object but from local runtime.
<snip>
And here is the problem, because on the client side i have no type information
in runtime. Should not the information from method signature be used instead of
getting one from runtime?
Well, it might be classified as a base library, bug ... but any workaround
within the base library would need changes to the objc runtime too, because the
runtime will not pass the base library enough information (specifically the
object being messaged) to determine the method types associated with the
selector.
Within your code, it's likely to be easy to work around, because you probably
know what object the message is being sent to ... so you can use
-methodSignatureForSelector: to get the type information, then register a typed
version of the selector with the runtime. Once you have done that, the DO
system should use the typed version of the selector and it should all work.
Thanks for the suggestion, same was suggested few secods before you by alexm.
I've put that workarouind in steptalk sources, if you are interested it is in
Source/NSInvocation+additions.m:198 It seems to work for now.
So if it is considered a bug, should log it into savannah bug tracking? Or you
will take care about that one?
Stefan
p.s.: i've posted two more DO related bugreports (about NSConnection and
NSObject/NSMethodSignature) to savannah. They were sent to me by email, but not
to the bug-gnustep. Is there something wrong with automatic delivery? To:
header in email looked like:
To: urbanek@host.sk, Error@host.sk, -@host.sk, Not@host.sk,
Found@host.sk, bug-gnustep@gnu.org
--
http://urbanek.host.sk
First they ignore you, then they laugh at you, then they fight you, then you
win.
- Mahatma Gandhi