Fix crash after closing a GDScript LSP session

This commit is contained in:
Oliver Frank 2020-02-23 17:16:24 +00:00
parent a920f9727a
commit ed482f6167
2 changed files with 3 additions and 3 deletions

View File

@ -122,7 +122,7 @@ Error GDScriptLanguageProtocol::LSPeer::send_data() {
Error GDScriptLanguageProtocol::on_client_connected() { Error GDScriptLanguageProtocol::on_client_connected() {
Ref<StreamPeerTCP> tcp_peer = server->take_connection(); Ref<StreamPeerTCP> tcp_peer = server->take_connection();
ERR_FAIL_COND_V_MSG(clients.size() >= LSP_MAX_CLIENTS, FAILED, "Max client limits reached"); ERR_FAIL_COND_V_MSG(clients.size() >= LSP_MAX_CLIENTS, FAILED, "Max client limits reached");
Ref<LSPeer> peer = new LSPeer; Ref<LSPeer> peer = memnew(LSPeer);
peer->connection = tcp_peer; peer->connection = tcp_peer;
clients.set(next_client_id, peer); clients.set(next_client_id, peer);
next_client_id++; next_client_id++;
@ -130,7 +130,7 @@ Error GDScriptLanguageProtocol::on_client_connected() {
return OK; return OK;
} }
void GDScriptLanguageProtocol::on_client_disconnected(int p_client_id) { void GDScriptLanguageProtocol::on_client_disconnected(const int &p_client_id) {
clients.erase(p_client_id); clients.erase(p_client_id);
EditorNode::get_log()->add_message("Disconnected", EditorLog::MSG_TYPE_EDITOR); EditorNode::get_log()->add_message("Disconnected", EditorLog::MSG_TYPE_EDITOR);
} }

View File

@ -77,7 +77,7 @@ private:
Ref<GDScriptWorkspace> workspace; Ref<GDScriptWorkspace> workspace;
Error on_client_connected(); Error on_client_connected();
void on_client_disconnected(int p_client_id); void on_client_disconnected(const int &p_client_id);
String process_message(const String &p_text); String process_message(const String &p_text);
String format_output(const String &p_text); String format_output(const String &p_text);