diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 8238ebf762e..29aa0b43e7b 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -21,17 +21,13 @@ #include #include #include -#include #include #include -#include #include #include #include #include #include -#include -#include #include #include #include @@ -45,16 +41,12 @@ #include #include #include -#include +#include #include #include #include #include #include -#include -#include -#include -#include #include #include #include @@ -62,9 +54,7 @@ #include #include #include -#include #include -#include #include #include @@ -462,8 +452,10 @@ ClangdClient::ClangdClient(Project *project, const Utils::FilePath &jsonDbDir, c progressManager()->setTitleForToken( indexingToken(), project ? Tr::tr("Indexing %1 with clangd").arg(project->displayName()) : Tr::tr("Indexing session with clangd")); - progressManager()->setCancelHandlerForToken(indexingToken(), [this, project]() { - CppEditor::ClangdProjectSettings projectSettings(project); + progressManager()->setCancelHandlerForToken(indexingToken(), [this, p = QPointer(project)]() { + if (!p) + return; + CppEditor::ClangdProjectSettings projectSettings(p); projectSettings.blockIndexing(); progressManager()->endProgressReport(indexingToken()); });