From 67f18a1a56d52ca07494a8eb113ef8a2766b00d0 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 28 May 2024 11:03:51 +0200 Subject: [PATCH] Cppcheck: Finish progress bar on fail Fixes: QTCREATORBUG-27961 Change-Id: If1bbd5b14ec77e8bde1617c692388a2868e3ce0f Reviewed-by: Marcus Tillmanns --- src/plugins/cppcheck/cppcheckrunner.cpp | 2 +- src/plugins/cppcheck/cppchecktool.cpp | 8 ++++++++ src/plugins/cppcheck/cppchecktool.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/cppcheck/cppcheckrunner.cpp b/src/plugins/cppcheck/cppcheckrunner.cpp index 7ee44bbb365..4f9b23646c5 100644 --- a/src/plugins/cppcheck/cppcheckrunner.cpp +++ b/src/plugins/cppcheck/cppcheckrunner.cpp @@ -140,7 +140,7 @@ void CppcheckRunner::handleDone() if (m_process.result() == ProcessResult::FinishedWithSuccess) m_tool.finishParsing(); else - Core::MessageManager::writeSilently(m_process.exitMessage()); + m_tool.finishWithFail(m_process.exitMessage()); m_currentFiles.clear(); m_process.close(); diff --git a/src/plugins/cppcheck/cppchecktool.cpp b/src/plugins/cppcheck/cppchecktool.cpp index 5bfcf941a3f..84479a78be5 100644 --- a/src/plugins/cppcheck/cppchecktool.cpp +++ b/src/plugins/cppcheck/cppchecktool.cpp @@ -304,4 +304,12 @@ void CppcheckTool::finishParsing() m_progress->reportFinished(); } +void CppcheckTool::finishWithFail(const QString &exitMessage) +{ + if (!exitMessage.isEmpty()) + Core::MessageManager::writeSilently(exitMessage); + QTC_ASSERT(m_progress, return); + m_progress->cancelAndFinish(); +} + } // Cppcheck::Internal diff --git a/src/plugins/cppcheck/cppchecktool.h b/src/plugins/cppcheck/cppchecktool.h index d14485fd5e8..e8e61efaef9 100644 --- a/src/plugins/cppcheck/cppchecktool.h +++ b/src/plugins/cppcheck/cppchecktool.h @@ -42,6 +42,7 @@ public: void parseOutputLine(const QString &line); void parseErrorLine(const QString &line); void finishParsing(); + void finishWithFail(const QString &exitMessage); private: void updateArguments();