never report a success if there was none: check the exit code + status

svn path=/trunk/KDE/kdebase/apps/; revision=1047233
This commit is contained in:
Peter Penz 2009-11-10 18:36:13 +00:00
parent 7b42d2d6cb
commit a47dc8edae
2 changed files with 8 additions and 5 deletions

View file

@ -309,9 +309,11 @@ void FileViewSvnPlugin::removeFiles()
i18nc("@info:status", "Removed files from SVN repository.")); i18nc("@info:status", "Removed files from SVN repository."));
} }
void FileViewSvnPlugin::slotOperationCompleted() void FileViewSvnPlugin::slotOperationCompleted(int exitCode, QProcess::ExitStatus exitStatus)
{ {
if (m_contextItems.isEmpty()) { if ((exitStatus != QProcess::NormalExit) || (exitCode != 0)) {
emit errorMessage(m_errorMsg);
} else if (m_contextItems.isEmpty()) {
emit operationCompletedMessage(m_operationCompletedMsg); emit operationCompletedMessage(m_operationCompletedMsg);
emit versionStatesChanged(); emit versionStatesChanged();
} else { } else {
@ -344,8 +346,8 @@ void FileViewSvnPlugin::execSvnCommand(const QString& svnCommand,
void FileViewSvnPlugin::startSvnCommandProcess() void FileViewSvnPlugin::startSvnCommandProcess()
{ {
QProcess* process = new QProcess(this); QProcess* process = new QProcess(this);
connect(process, SIGNAL(finished(int)), connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(slotOperationCompleted())); this, SLOT(slotOperationCompleted(int, QProcess::ExitStatus)));
connect(process, SIGNAL(error(QProcess::ProcessError)), connect(process, SIGNAL(error(QProcess::ProcessError)),
this, SLOT(slotOperationError())); this, SLOT(slotOperationError()));

View file

@ -23,6 +23,7 @@
#include <kfileitem.h> #include <kfileitem.h>
#include <kversioncontrolplugin.h> #include <kversioncontrolplugin.h>
#include <QHash> #include <QHash>
#include <QProcess>
#include <QTemporaryFile> #include <QTemporaryFile>
// TODO: This class will be moved to kdevplatform as soon as kdevplatform will // TODO: This class will be moved to kdevplatform as soon as kdevplatform will
@ -49,7 +50,7 @@ private slots:
void addFiles(); void addFiles();
void removeFiles(); void removeFiles();
void slotOperationCompleted(); void slotOperationCompleted(int exitCode, QProcess::ExitStatus exitStatus);
void slotOperationError(); void slotOperationError();
private: private: