[RFC] How do I tell the MainWindow that the Part won't work?

Simon Hausmann hausmann at kde.org
Sat Jun 7 12:36:41 BST 2003


On Sat, Jun 07, 2003 at 01:02:27PM +0200, Christian Loose wrote:
> Hi guys,
> 
> We have a problem in Cervisia. 
> 
> In KDE HEAD, Cervisia uses the new cvs DCOP service to provide it's 
> functionality to it's users. Without the DCOP service Cervisia won't work at 
> all. Normally this isn't a problem because the part should be able to start 
> the service.
> 
> Now to the problem: 
> CervisiaPart starts the service in its constructor. Now if 
> KApplication::startServiceByDesktopName(...) fails (e.g. user made a mistake 
> while installing KDE), there is no way that the part can prevent the further 
> processing by telling its calling app (CervisiaShell, Konqueror) that an 
> error occurred. Instead the part is created but non-functional.
> 
> Does somebody have an idea?

Asking the obligatory question :) : Why use a separate process for
this very task in the first place? Are there locking issues that are
very hard to solve when doing the CVS handling in-process (i.e.
launching the cvs process from inside cervisia, not using a second
proxy process) ?

It seems to me that there is a lot of communication between the cvs
service process and cervisia as client, which is where things get
complicated with DCOP (how to recover when the process dies?) .
Imagine how simple the code in cervisia could be if you could deal
with CvsJob C++ objects directly.

Just a though. Feel free to ignore :)

Simon




More information about the kde-core-devel mailing list