summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2020-07-23 10:38:48 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2020-07-29 17:53:41 +0200
commite5f3159a2323d1b5da19ee77936c40e04ef776df (patch)
treee31a01874ea3f399c7d8ddcd70dd0f26e9bca550
parent227494be59eca4f50604a9c90c3c36ed15e7ecc5 (diff)
Fix crash in ENet changing refuse_new_connections
When the host is not started.
-rw-r--r--modules/enet/networked_multiplayer_enet.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/enet/networked_multiplayer_enet.cpp b/modules/enet/networked_multiplayer_enet.cpp
index ed3924f2d2..64977ad237 100644
--- a/modules/enet/networked_multiplayer_enet.cpp
+++ b/modules/enet/networked_multiplayer_enet.cpp
@@ -104,6 +104,7 @@ Error NetworkedMultiplayerENet::create_server(int p_port, int p_max_clients, int
if (dtls_enabled) {
enet_host_dtls_server_setup(host, dtls_key.ptr(), dtls_cert.ptr());
}
+ enet_host_refuse_new_connections(host, refuse_connections);
#endif
_setup_compressor();
@@ -160,6 +161,7 @@ Error NetworkedMultiplayerENet::create_client(const String &p_address, int p_por
if (dtls_enabled) {
enet_host_dtls_client_setup(host, dtls_cert.ptr(), dtls_verify, p_address.utf8().get_data());
}
+ enet_host_refuse_new_connections(host, refuse_connections);
#endif
_setup_compressor();
@@ -641,7 +643,9 @@ int NetworkedMultiplayerENet::get_unique_id() const {
void NetworkedMultiplayerENet::set_refuse_new_connections(bool p_enable) {
refuse_connections = p_enable;
#ifdef GODOT_ENET
- enet_host_refuse_new_connections(host, p_enable);
+ if (active) {
+ enet_host_refuse_new_connections(host, p_enable);
+ }
#endif
}