Commit 5fc1d851 authored by Christian Loose's avatar Christian Loose

bugfix: don't accumulate output

TODO - better connect directly to CvsService's
SingleCvsJob

svn path=/trunk/kdesdk/cervisia/; revision=198632
parent c420ecc4
......@@ -110,6 +110,10 @@ bool ProtocolView::startJob(DCOPRef& cvsJob)
connectDCOPSignal(cvsJob.app(), cvsJob.obj(), "receivedStderr(QString)",
"slotReceivedOutput(QString)", true);
// remember reference to cvs job in order to disconnect
// from it in slotJobExited()
job = cvsJob;
// disconnect 3rd party slots from our signals
disconnect( SIGNAL(receivedLine(QString)) );
disconnect( SIGNAL(jobFinished(bool)) );
......@@ -178,7 +182,15 @@ void ProtocolView::slotJobExited(bool normalExit, int status)
buf += '\n';
buf += msg;
processOutput();
// disconnect the signals of the cvs job
disconnectDCOPSignal(job.app(), job.obj(), "jobExited(bool, int)",
"slotJobExited(bool, int)");
disconnectDCOPSignal(job.app(), job.obj(), "receivedStdout(QString)",
"slotReceivedOutput(QString)");
disconnectDCOPSignal(job.app(), job.obj(), "receivedStderr(QString)",
"slotReceivedOutput(QString)");
emit jobFinished(normalExit && !status);
}
......
......@@ -17,8 +17,8 @@
#include <qtextedit.h>
#include <dcopobject.h>
#include <dcopref.h>
class DCOPRef;
class KProcess;
class KShellProcess;
......@@ -63,6 +63,8 @@ private:
QColor conflictColor;
QColor localChangeColor;
QColor remoteChangeColor;
DCOPRef job;
};
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment