diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index eef6e5e5730..00ad74279e3 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -1197,6 +1198,15 @@ ClangdClient::ClangdClient(Project *project, const Utils::FilePath &jsonDbDir) initOptions.insert("fallbackFlags", QJsonArray::fromStringList(clangOptions)); setInitializationOptions(initOptions); } + auto isRunningClangdClient = [](const LanguageClient::Client *c) { + return qobject_cast(c) && c->state() != Client::ShutdownRequested + && c->state() != Client::Shutdown; + }; + const QList clients = + Utils::filtered(LanguageClientManager::clientsForProject(project), isRunningClangdClient); + QTC_CHECK(clients.isEmpty()); + for (const Client *client : clients) + qCWarning(clangdLog) << client->name() << client->stateString(); ClientCapabilities caps = Client::defaultClientCapabilities(); Utils::optional textCaps = caps.textDocument(); if (textCaps) {