Browse Source

fixed bug with simultaneous disconnects not dispatching events

eihrul 13 năm trước cách đây
mục cha
commit
7691ccc318
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      protocol.c

+ 1 - 1
protocol.c

@@ -764,7 +764,7 @@ enet_protocol_handle_disconnect (ENetHost * host, ENetPeer * peer, const ENetPro
 
     enet_peer_reset_queues (peer);
 
-    if (peer -> state == ENET_PEER_STATE_CONNECTION_SUCCEEDED)
+    if (peer -> state == ENET_PEER_STATE_CONNECTION_SUCCEEDED || peer -> state == ENET_PEER_STATE_DISCONNECTING)
         enet_protocol_dispatch_state (host, peer, ENET_PEER_STATE_ZOMBIE);
     else
     if (peer -> state != ENET_PEER_STATE_CONNECTED && peer -> state != ENET_PEER_STATE_DISCONNECT_LATER)