summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-01-03 13:34:51 +0100
committerRémi Verschelde <rverschelde@gmail.com>2020-01-03 13:34:54 +0100
commit3cbfb11460b6106f89ce7ce80c329fc003002103 (patch)
treeb78e0f0e3ffd12f0c2fa7f2f8a2600b784bd3f06
parent9d3424f61ddd1e6bec78381aa4a0c6acec53d290 (diff)
MultiplayerAPI: Fix disconnect errors when passing invalid peer
Fixes #34634.
-rw-r--r--core/io/multiplayer_api.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/io/multiplayer_api.cpp b/core/io/multiplayer_api.cpp
index aaa7eb64c9..2708cb8c01 100644
--- a/core/io/multiplayer_api.cpp
+++ b/core/io/multiplayer_api.cpp
@@ -139,6 +139,9 @@ void MultiplayerAPI::set_network_peer(const Ref<NetworkedMultiplayerPeer> &p_pee
if (p_peer == network_peer) return; // Nothing to do
+ ERR_FAIL_COND_MSG(p_peer.is_valid() && p_peer->get_connection_status() == NetworkedMultiplayerPeer::CONNECTION_DISCONNECTED,
+ "Supplied NetworkedMultiplayerPeer must be connecting or connected.");
+
if (network_peer.is_valid()) {
network_peer->disconnect("peer_connected", this, "_add_peer");
network_peer->disconnect("peer_disconnected", this, "_del_peer");
@@ -150,8 +153,6 @@ void MultiplayerAPI::set_network_peer(const Ref<NetworkedMultiplayerPeer> &p_pee
network_peer = p_peer;
- ERR_FAIL_COND_MSG(p_peer.is_valid() && p_peer->get_connection_status() == NetworkedMultiplayerPeer::CONNECTION_DISCONNECTED, "Supplied NetworkedNetworkPeer must be connecting or connected.");
-
if (network_peer.is_valid()) {
network_peer->connect("peer_connected", this, "_add_peer");
network_peer->connect("peer_disconnected", this, "_del_peer");