[Patch] Bugs in KDev-3.4's cvs part

Robert Gruber R.Gruber at gmx.net
Fri May 4 06:33:34 UTC 2007


> On Thu, 3 May 2007 18:19:13, Andreas Pakulat wrote:
> Having a quick look at the code I don't see why cvs' slotProjectOpened
> needs to be called before CVSFileInfoProvider can be used. I don't see
> any reference between the two.

Well, you need to take a closer look to find out what's really going on in the cvspart.

The CVSFileInfoProvider gets instanciated in the ctor of 
the CvsServicePartImpl class. There the CVSFileInfoProvider 
ctor get's passed a pointer to CvsServicePartImpl private m_cvsService
member. That member is in fact a dcop stub to cervisia's CvsService. 
But cervisia's CvsService can not do any operations without a correctly
setup repository. And the setup of the repository happens in the slot 
CvsServicePartImpl::slotProjectOpened() which is connected to core's 
projectOpened() signal.

To summarize:
*) The CvsServicePartImpl class holds one dcop stub to 
   cervisia's CvsService.
*) Who ever needs to call a cvs command, gets a pointer to that 
   stub from the CvsServicePartImpl. (e.g. CVSFileInfoProvider)
*) The stub cannot do anything before a repository was set
*) The repository gets set to projectDirectory() when a new project
   gets onpened.



To me that looks as if no cvs operation can be issues 
before slotProjectOpened() has been called.

Greets, Robert












-- 
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail




More information about the KDevelop-devel mailing list