Problem which VCS plugins when closing a project

Jens Dagerbo jens.dagerbo at swipnet.se
Wed Jan 3 18:09:40 UTC 2007


Hi,

I finally got around to looking at this and committed a fix that gives us the 
expected behaviour.

A while back we decided VCS plugins should be mutually exclusive and decided 
this would be implemented by a manager (the VCSManager plugin) that decided 
which VCS plugin to load. This works rather well.

However, as you noticed, the VCS Manager didn't do too well with unloading the 
plugin, as it did this at the wrong moment, keeping the plugin from getting 
the projectClosed() signal.

(The good solution to this problem would be to introduce a signal that is sent 
_after_ the project is unloaded (projectClosed() is sent before, 
counter-intuitively) and have the VCSManager do its work there.)

Thanks for pointing out the problem and the (temporary) patch! :)


// jens


On Friday 08 December 2006 23:57, Robert Gruber wrote:
> Hello,
>
> I truly think this should be fixed for KDevelop 3.4
>
> As told, I can only offer a workaround. If nobody has a better solution and
> there are no objections against it, I would like to commit this workaround
> in order to make the cvs part fully functionable for KDevelop-3.4. But we
> should bare in mind to fix this in KDevelop4.
>
>
> Regards, Robert
>
>
> -------- Original-Nachricht --------
> Datum:  Sun, 03 Dec 2006 19:44:41 +0100
> Von: "Robert Gruber" <R.Gruber at gmx.net>
> An: kdevelop-devel at barney.cs.uni-potsdam.de
> Betreff:  Problem which VCS plugins when closing a project
>
> > Unfortunalty I have no idea how to fix this :-(
> >
> > Best regards,
> > Robert
> >
> >
> > BTW:
> > For my local copy I've added a call to slotProjectClosed() to
> > CvsServicePart's destructor. That way the settings will be stored even
> > if the plugin gets removed before the signal reaches it.
> >
> > ------ cut -------
> > Index: cvspart.cpp
> > ===================================================================
> > --- cvspart.cpp (Revision 610182)
> > +++ cvspart.cpp (Arbeitskopie)
> > @@ -106,6 +106,8 @@
> >
> >  CvsServicePart::~CvsServicePart()
> >  {
> > +    slotProjectClosed();
> > +
> >      delete m_cvsConfigurationForm;
> >      delete m_impl;
> >  }
> > ------ cut -------




More information about the KDevelop-devel mailing list