mirror of
https://github.com/godotengine/godot.git
synced 2024-12-21 10:25:24 +08:00
Merge pull request #91011 from Faless/mp/fix_disconnect_on_change
[MP] Fix `disconnect_peer` not doing the proper cleanup
This commit is contained in:
commit
9559330187
@ -425,11 +425,11 @@ void SceneMultiplayer::_del_peer(int p_id) {
|
||||
|
||||
void SceneMultiplayer::disconnect_peer(int p_id) {
|
||||
ERR_FAIL_COND(multiplayer_peer.is_null() || multiplayer_peer->get_connection_status() != MultiplayerPeer::CONNECTION_CONNECTED);
|
||||
if (pending_peers.has(p_id)) {
|
||||
pending_peers.erase(p_id);
|
||||
} else if (connected_peers.has(p_id)) {
|
||||
connected_peers.erase(p_id);
|
||||
}
|
||||
// Block signals to avoid emitting peer_disconnected.
|
||||
bool blocking = is_blocking_signals();
|
||||
set_block_signals(true);
|
||||
_del_peer(p_id);
|
||||
set_block_signals(blocking);
|
||||
multiplayer_peer->disconnect_peer(p_id);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user