diff options
author | Andrii Batyiev <[email protected]> | 2024-11-08 09:26:44 +0200 |
---|---|---|
committer | Marcus Tillmanns <[email protected]> | 2024-11-13 08:05:26 +0000 |
commit | c24377259e2e5476401cabc07a02ceecaa6010a6 (patch) | |
tree | 44d247ef6b34181928e0683ef180f42f99e6510c /src/plugins/languageclient/lualanguageclient | |
parent | 48a4ca754b7e107be7c8ea8e94d8ad9671764f68 (diff) |
LuaLS: filter out stale clients
Clients on the list could be already in shutdown phase,
so filter them out.
Change-Id: I30768f63a89418279af02076550f408749ad04a9
Reviewed-by: Marcus Tillmanns <[email protected]>
(cherry picked from commit ee0779ac80f02bebb50e27ee660c5b02a426a30d)
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/languageclient/lualanguageclient')
-rw-r--r-- | src/plugins/languageclient/lualanguageclient/lualanguageclient.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/languageclient/lualanguageclient/lualanguageclient.cpp b/src/plugins/languageclient/lualanguageclient/lualanguageclient.cpp index fe54ac72688..27e684b6fc9 100644 --- a/src/plugins/languageclient/lualanguageclient/lualanguageclient.cpp +++ b/src/plugins/languageclient/lualanguageclient/lualanguageclient.cpp @@ -425,15 +425,18 @@ public: QList<Client *> clientsForDocument(Core::IDocument *document) { + QList<Client *> result; if (m_startBehavior == BaseSettings::RequiresProject) { Project *project = ProjectManager::projectForFile(document->filePath()); const auto clients = LanguageClientManager::clientsForSettingId(m_clientSettingsId); - return Utils::filtered(clients, [project](Client *c) { + result = Utils::filtered(clients, [project](Client *c) { return c && c->project() == project; }); } + else + result = LanguageClientManager::clientsForSettingId(m_clientSettingsId); - return LanguageClientManager::clientsForSettingId(m_clientSettingsId); + return Utils::filtered(result, [](Client *c) { return c->reachable(); }); } void sendMessageForDocument(Core::IDocument *document, const sol::table &message) |