diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-06-15 09:51:53 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-06-15 09:51:56 +0200 |
commit | 786f4ada35a491fb75cdb14f2f34085e4adb8668 (patch) | |
tree | 0e73adfd4d4ca5d3af606cb1e8facaf37c891918 /modules/gdscript/language_server | |
parent | b95611bb86310cc91033de6f106303ed16981a2e (diff) |
GDScript LSP: Fix wrong error checks added in #39385
Reverts `latest_client_id` back to 0, as I misunderstood how the client
IDs are assigned and, without further testing and debugging, I can't
say if this was a bug or a valid default value.
Similarly, a `latest_client_id` of -1 is no longer raising an error.
Fixes #39548.
Diffstat (limited to 'modules/gdscript/language_server')
-rw-r--r-- | modules/gdscript/language_server/gdscript_language_protocol.cpp | 6 | ||||
-rw-r--r-- | modules/gdscript/language_server/gdscript_language_protocol.h | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/modules/gdscript/language_server/gdscript_language_protocol.cpp b/modules/gdscript/language_server/gdscript_language_protocol.cpp index 8a805196a1..2a67d2ff4f 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.cpp +++ b/modules/gdscript/language_server/gdscript_language_protocol.cpp @@ -190,9 +190,7 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) { params["path"] = workspace->root; Dictionary request = make_notification("gdscript_client/changeWorkspace", params); - ERR_FAIL_COND_V_MSG(latest_client_id == -1, ret.to_json(), - "GDScriptLanguageProtocol: Can't initialize as no client is connected."); - ERR_FAIL_INDEX_V_MSG((uint64_t)latest_client_id, clients.size(), ret.to_json(), + ERR_FAIL_COND_V_MSG(!clients.has(latest_client_id), ret.to_json(), vformat("GDScriptLanguageProtocol: Can't initialize invalid peer '%d'.", latest_client_id)); Ref<LSPeer> peer = clients.get(latest_client_id); if (peer != nullptr) { @@ -277,7 +275,7 @@ void GDScriptLanguageProtocol::notify_client(const String &p_method, const Varia "GDScript LSP: Can't notify client as none was connected."); p_client_id = latest_client_id; } - ERR_FAIL_INDEX((uint64_t)p_client_id, clients.size()); + ERR_FAIL_COND(!clients.has(p_client_id)); Ref<LSPeer> peer = clients.get(p_client_id); ERR_FAIL_COND(peer == nullptr); diff --git a/modules/gdscript/language_server/gdscript_language_protocol.h b/modules/gdscript/language_server/gdscript_language_protocol.h index 564878313d..cf5242e8c5 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.h +++ b/modules/gdscript/language_server/gdscript_language_protocol.h @@ -70,7 +70,7 @@ private: HashMap<int, Ref<LSPeer>> clients; Ref<TCP_Server> server; - int latest_client_id = -1; + int latest_client_id = 0; int next_client_id = 0; Ref<GDScriptTextDocument> text_document; |