aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools/clangtoolrunner.cpp
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2022-04-14 09:14:31 +0200
committerJarek Kobus <[email protected]>2022-04-14 12:30:44 +0000
commit364917640212d9dff8f4dde2b5c24dcb41c03870 (patch)
tree3043d398c268a082c224f0367ae9965260cfbb11 /src/plugins/clangtools/clangtoolrunner.cpp
parentb1392e7938bfffa35b525ffead3aae7a5797e044 (diff)
ClangToolRunner: Connect to QtcProcess::done() signal
Instead of connecting to errorOccurred() and finished() signals. Change-Id: Ie15a25000a647d4046b59e9ebeb44c32bc29b53b Reviewed-by: hjk <[email protected]> Reviewed-by: <[email protected]>
Diffstat (limited to 'src/plugins/clangtools/clangtoolrunner.cpp')
-rw-r--r--src/plugins/clangtools/clangtoolrunner.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp
index 68ca3b9a8db..c970028709b 100644
--- a/src/plugins/clangtools/clangtoolrunner.cpp
+++ b/src/plugins/clangtools/clangtoolrunner.cpp
@@ -85,8 +85,7 @@ void ClangToolRunner::init(const FilePath &outputDirPath, const Environment &env
m_process->setEnvironment(environment);
m_process->setWorkingDirectory(m_outputDirPath); // Current clang-cl puts log file into working dir.
- connect(m_process, &QtcProcess::finished, this, &ClangToolRunner::onProcessFinished);
- connect(m_process, &QtcProcess::errorOccurred, this, &ClangToolRunner::onProcessError);
+ connect(m_process, &QtcProcess::done, this, &ClangToolRunner::onProcessDone);
}
QStringList ClangToolRunner::mainToolArguments() const
@@ -145,9 +144,11 @@ bool ClangToolRunner::run(const QString &fileToAnalyze, const QStringList &compi
return true;
}
-void ClangToolRunner::onProcessFinished()
+void ClangToolRunner::onProcessDone()
{
- if (m_process->result() == ProcessResult::FinishedWithSuccess) {
+ if (m_process->result() == ProcessResult::StartFailed) {
+ emit finishedWithFailure(generalProcessError(m_name), commandlineAndOutput());
+ } else if (m_process->result() == ProcessResult::FinishedWithSuccess) {
qCDebug(LOG).noquote() << "Output:\n" << m_process->stdOut();
emit finishedWithSuccess(m_fileToAnalyze);
} else if (m_process->result() == ProcessResult::FinishedWithError) {
@@ -158,14 +159,6 @@ void ClangToolRunner::onProcessFinished()
}
}
-void ClangToolRunner::onProcessError(QProcess::ProcessError error)
-{
- if (error == QProcess::Crashed)
- return; // handled by slot of finished()
-
- emit finishedWithFailure(generalProcessError(m_name), commandlineAndOutput());
-}
-
QString ClangToolRunner::commandlineAndOutput() const
{
return tr("Command line: %1\n"