On 12.09.2011 15:44, Riccardo Mottola wrote:
Hi,
I can reproduce the said problem with MinGW too, perhaps you can
try at your place too? I avoid testing GWorkspace under windows,
so I used TextEdit -> Vespucci and opened an URL
The basic problem reported here is that a method signature
doesn't have type information attached to it. This gets
detected in line 2601 of the file NSConnection.m. There we also
have some addition error reporting in place. Could you please
run your service applications with --GNU-Debug=dflt. It would
also be interesting to get even more information from this
method. What object are we trying to access (I think it should
be the GSServiceManager) and is the service method found on the
object?
Bu running the application with your option (inside GDB so i get
an output on windows) I get:
warning: 2011-09-12 15:41:56.385 Vespucci[5344] currentMode =
NSDefaultRunLoopMode
warning: 2011-09-12 15:42:08.229 Vespucci[5344] Local
object<0x1b9feb0 GSListener> doesn't implement:
openURL:userData:error: directly. Will search for arbitrary
signature.
warning: 2011-09-12 15:42:08.229 Vespucci[5344]
NSConnection.m:2601 Assertion failed in -[NSConnection(Private)
_service:forwardForProxy:]. Invalid parameter not satisfying:
type
That's just the result I expected. Object is a GSListener, a
subclass of NSProxy, and our current code isn't able to extract the
method signature from that kind. I still think the solution I
suggested in the last mail, using -methodSignatureForSelector: is
the correct one, but I would like to get comments, at least, from
Richard and David on that.