diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp index c6a02e7224a..fe2871ad89e 100644 --- a/src/plugins/git/giteditor.cpp +++ b/src/plugins/git/giteditor.cpp @@ -211,8 +211,9 @@ void GitEditor::setPlainTextDataFiltered(const QByteArray &a) setPlainTextData(array); } -void GitEditor::commandFinishedGotoLine(bool ok, int /* exitCode */, const QVariant &v) +void GitEditor::commandFinishedGotoLine(bool ok, int exitCode, const QVariant &v) { + reportCommandFinished(ok, exitCode, v); if (ok && v.type() == QVariant::Int) { const int line = v.toInt(); if (line >= 0) diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 6d9b6c02ac8..930d7e37d3b 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -153,7 +153,9 @@ void VcsBaseClientPrivate::commandFinishedGotoLine(QObject *editorObject) VcsBase::VcsBaseEditorWidget *editor = qobject_cast(editorObject); Command *cmd = qobject_cast(m_cmdFinishedMapper->mapping(editor)); if (editor && cmd) { - if (cmd->lastExecutionSuccess() && cmd->cookie().type() == QVariant::Int) { + if (!cmd->lastExecutionSuccess()) { + editor->reportCommandFinished(false, cmd->lastExecutionExitCode(), cmd->cookie()); + } else if (cmd->cookie().type() == QVariant::Int) { const int line = cmd->cookie().toInt(); if (line >= 0) editor->gotoLine(line); diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 45f60c410f1..b5fd6f87997 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -1177,6 +1177,15 @@ void VcsBaseEditorWidget::setPlainTextData(const QByteArray &data) setPlainText(codec()->toUnicode(data)); } +void VcsBaseEditorWidget::reportCommandFinished(bool ok, int exitCode, const QVariant &data) +{ + Q_UNUSED(exitCode); + Q_UNUSED(data); + + if (!ok) + setPlainText(tr("Failed to retrieve data.")); +} + void VcsBaseEditorWidget::setFontSettings(const TextEditor::FontSettings &fs) { TextEditor::BaseTextEditorWidget::setFontSettings(fs); diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h index 24885d2475f..839ed91fc12 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.h +++ b/src/plugins/vcsbase/vcsbaseeditor.h @@ -206,6 +206,7 @@ public slots: // Convenience slot to set data read from stdout, will use the // documents' codec to decode void setPlainTextData(const QByteArray &data); + void reportCommandFinished(bool ok, int exitCode, const QVariant &data); protected: virtual TextEditor::BaseTextEditor *createEditor();