[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GWorkspace 0.7.0, System, Applications and restart

From: Enrico Sersale
Subject: Re: GWorkspace 0.7.0, System, Applications and restart
Date: Tue, 15 Mar 2005 03:11:38 +0200

On 2005-03-14 21:49:20 +0200 MJ Ray <address@hidden> wrote:

Enrico Sersale <address@hidden> wrote:
all the makefiles. And the app looks for its tools only in
System. This to avoid problems with duplicate elements.

What do you mean by "duplicate elements"? Will it break things
if I patch out that line in the makefiles?

Yes, this would break things. In my last mail I've answered to Nicola that I'll 
change the actual behaviour in 0.7.1 but, thinking better, this is not 
possible; GWorkspace uses tens of bundles, the Inspector contents viewers, the 
Finder modules, etc.; all these classes conform to some protocols that can 
change with new versions of GW; I can add or remove methods, for example, or 
change their names...
When I release a new version or I change something on CVS, I must be *sure* 
that *all* the old bundles are substituted by the new one. The problem comes 
from the fact that the NSObject class method +conformsToProtocol: doesn't 
verify if the protocol is really implemented; the conformance is based only on 
the declaration in the header file. So, to avoid problems, I should change the 
name of the protocols in tens of files each time I change something.

On 2005-03-14 19:47:03 +0200 MJ Ray <address@hidden> wrote:
2. Even with it installed into /System, GWorkspace can't start
Operation or Recycler itself and disables file operations. When
they are run manually, it all works but they get their own
app-icons - should they appear, or is my wm missing a hint?
This is an old problem that has been reported also for
Inspector when it was a separate application. I've never
been able to reproduce it, neither on my linuxes nor on
OS X. So, I can't say anything... The code is very simple;
GWorkspace tries to contact the application and, if it can't,
tell NSWorkspace to launch it and waits some seconds in a
loop re-trying to contact it. The very strange thing is that
the same code is used also for all the gworkspace tools,
fswatcher, ddbd, etc. and I've never heard of problems, in
this case. With the tools, the only difference is that GW
launches a NSTask instead of using the NSWorkspace method.

GWorkspace/GWorkspace.m:1807 here is where Operation launches.
As far as I can tell, it isn't ever launching a process.
Comparing with ddbd's start, it seems that one works out the
path first and gives it to NSTask. Would I get an error message
anywhere if it can't find the application by name?

In this case the process (the NSTask) is launched by the NSWorkspace method 
-launchApplication: that doesn't need the full path of the application but only 
its name. But it is obvious that *this* is the place where the problem happens; 
as I've said, I can't reproduce this but, if you want to help me, we can try to 
fix it.
So, first experiment:

I need to know what happens if you change this line:

  [ws launchApplication: @"Operation"];

with this one:

  [ws launchApplication: @"/usr/GNUstep/System/Applications/Operation.app"];

(you must change "/usr/GNUstep/System/Applications/Operation.app" with the 
location of the app in your system).

make_services doesn't complain and openapp runs it fine.
I'm using gnustep-make Version 1.10.0, gnustep-base Version
1.10.1, gnustep-gui Version 0.9.4, gnustep-back Version 0.9.4
in case anyone knows a bug.

I browsed the Changelog and bug tracker and didn't see anything
obviously affecting this.

3. When I quit GWorkspace and restart, only one Viewer reappears.
The other one is lost. Is this a known bug, or local misconfig?
No, it's not a known bug; GWorkspace must remember all the
windows and their positions.
Try to remove all the GWorkspace dictionary from .GNUstepDefaults.

I just tried that. Now it's the other window that is "lost". The
lost one has an odd title "/ - /" but I'm not sure if that is
significant. What I do:

1. start GWorkspace
2. Click OK on the two warnings (mtab and mount points)
3. pick Tools -> Viewer
4. Position and adjust its size, directory and make it an icon view
5. Pick Quit
6. start GWorkspace
7. click OK on the two warnings
8. only one viewer appears, not the one made in 3 and 4

This is a bug and I'll try to fix it tomorrow...

I'll drop this system back to 0.6.3 before users complain,
but I'll keep 0.7.0 around in case I can get more debug output.

I cann assure you that 0.7.0 is far better... :-)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]