diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index 7536f57ad9a..87ce2875f79 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -698,6 +698,7 @@ void ClangTool::startTool(ClangTool::FileSelection fileSelection, connect(m_runWorker, &ClangToolRunWorker::started, this, &ClangTool::onStarted); connect(m_runWorker, &ClangToolRunWorker::runnerFinished, this, &ClangTool::updateForCurrentState); + connect(m_runControl, &RunControl::destroyed, [this](){ m_runWorker = nullptr; }); // More init and UI update m_diagnosticFilterModel->setProject(project); @@ -1038,6 +1039,8 @@ void ClangTool::onRunControlStopped() void ClangTool::update() { updateForInitialState(); + if (!m_runWorker) + return; updateForCurrentState(); }