[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