summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Subtil <ricasubtil@gmail.com>2023-04-09 12:36:01 +0100
committerYuri Sizov <yuris@humnom.net>2023-04-24 14:16:37 +0200
commitb5ff677381e2e846c0512fb41c5f4d4c2c8abd23 (patch)
treeb83ac1ebb8df72899a58e8e7feb4fb22fcb50332
parente7f7de004465e274721bb6ec82f60424b21e0c95 (diff)
Poll LSP/DAP clients for connection status updates
(cherry picked from commit 4be4eeea3ac9d37fa1dc520a5bc8c57554448410)
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.cpp1
-rw-r--r--modules/gdscript/language_server/gdscript_language_protocol.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
index e5f74762f6..4a95047a71 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
@@ -970,6 +970,7 @@ void DebugAdapterProtocol::poll() {
List<Ref<DAPeer>> to_delete;
for (List<Ref<DAPeer>>::Element *E = clients.front(); E; E = E->next()) {
Ref<DAPeer> peer = E->get();
+ peer->connection->poll();
StreamPeerTCP::Status status = peer->connection->get_status();
if (status == StreamPeerTCP::STATUS_NONE || status == StreamPeerTCP::STATUS_ERROR) {
to_delete.push_back(peer);
diff --git a/modules/gdscript/language_server/gdscript_language_protocol.cpp b/modules/gdscript/language_server/gdscript_language_protocol.cpp
index acd75f039a..0aa53c1dbe 100644
--- a/modules/gdscript/language_server/gdscript_language_protocol.cpp
+++ b/modules/gdscript/language_server/gdscript_language_protocol.cpp
@@ -237,6 +237,7 @@ void GDScriptLanguageProtocol::poll() {
HashMap<int, Ref<LSPeer>>::Iterator E = clients.begin();
while (E != clients.end()) {
Ref<LSPeer> peer = E->value;
+ peer->connection->poll();
StreamPeerTCP::Status status = peer->connection->get_status();
if (status == StreamPeerTCP::STATUS_NONE || status == StreamPeerTCP::STATUS_ERROR) {
on_client_disconnected(E->key);