|
From: | Riccardo Mottola |
Subject: | Re: gworkspace / clang / libobjc2 hang problem |
Date: | Fri, 26 Dec 2014 21:55:12 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:34.0) Gecko/20100101 Firefox/34.0 SeaMonkey/2.31 |
Hi, Richard Frith-Macdonald wrote:
I am slightly confused: you send it to the proxy, but not to the spawned thread. Does that already use the forward invocation? I thought only to methods actually being on the the thread. But well, it is easy to be confused where the distant object is and is not.Well, I looked at the code and it seemed to be that the call to the -winRect method is being sent to a file operation and, presumably, the file operation is a proxy to an object in another thread/process. That seems to match what David said. I wonder if this is an issue with invocations that we could fix some way? Anyway, I tried changing that method from -(NSRect)winRect to -(void)getWinRect:(NSRect*)rptr./t You could try that out to see if it helps (or revert the change if it doesn't).
I will test as soon as I get back, I'm abroad.I found however that now even the original GWorkspace doesn't work (somehow expected). All patches don't work either (even a simple return NSZeroRect; ).
What "broke" for made definitively is that I reinstalled all GNUstep, including upgrading libobjc2. This triggered now to a constant situation where clang/libobj2 won't work.
If it works, then I will test my latest rewrite which works fine with cc which is much cleaner than the original code. My first two patches worked most of the time, but did not consider hidden windows, which the original code did, although the rest was broken :)
I'll test your patch at my retour! Thanks for now. Riccardo
[Prev in Thread] | Current Thread | [Next in Thread] |