|
|
@@ -35,7 +35,7 @@
|
|
|
|
|
|
#define ENET_VERSION_MAJOR 2
|
|
|
#define ENET_VERSION_MINOR 1
|
|
|
-#define ENET_VERSION_PATCH 6
|
|
|
+#define ENET_VERSION_PATCH 7
|
|
|
#define ENET_VERSION_CREATE(major, minor, patch) (((major) << 16) | ((minor) << 8) | (patch))
|
|
|
#define ENET_VERSION_GET_MAJOR(version) (((version) >> 16) & 0xFF)
|
|
|
#define ENET_VERSION_GET_MINOR(version) (((version) >> 8) & 0xFF)
|
|
|
@@ -1403,7 +1403,10 @@ extern "C" {
|
|
|
static void enet_protocol_remove_sent_unreliable_commands(ENetPeer* peer) {
|
|
|
ENetOutgoingCommand* outgoingCommand;
|
|
|
|
|
|
- while (!enet_list_empty(&peer->sentUnreliableCommands)) {
|
|
|
+ if (enet_list_empty(&peer->sentUnreliableCommands))
|
|
|
+ return;
|
|
|
+
|
|
|
+ do {
|
|
|
outgoingCommand = (ENetOutgoingCommand*)enet_list_front(&peer->sentUnreliableCommands);
|
|
|
|
|
|
enet_list_remove(&outgoingCommand->outgoingCommandList);
|
|
|
@@ -1420,6 +1423,11 @@ extern "C" {
|
|
|
|
|
|
enet_free(outgoingCommand);
|
|
|
}
|
|
|
+
|
|
|
+ while (!enet_list_empty(&peer->sentUnreliableCommands));
|
|
|
+
|
|
|
+ if (peer->state == ENET_PEER_STATE_DISCONNECT_LATER && enet_list_empty(&peer->outgoingReliableCommands) && enet_list_empty(&peer->outgoingUnreliableCommands) && enet_list_empty(&peer->sentReliableCommands))
|
|
|
+ enet_peer_disconnect(peer, peer->eventData);
|
|
|
}
|
|
|
|
|
|
static ENetProtocolCommand enet_protocol_remove_sent_reliable_command(ENetPeer* peer, enet_uint16 reliableSequenceNumber, enet_uint8 channelID) {
|
|
|
@@ -2478,7 +2486,7 @@ extern "C" {
|
|
|
host->commandCount = command - host->commands;
|
|
|
host->bufferCount = buffer - host->buffers;
|
|
|
|
|
|
- if (peer->state == ENET_PEER_STATE_DISCONNECT_LATER && enet_list_empty(&peer->outgoingReliableCommands) && enet_list_empty(&peer->outgoingUnreliableCommands) && enet_list_empty(&peer->sentReliableCommands))
|
|
|
+ if (peer->state == ENET_PEER_STATE_DISCONNECT_LATER && enet_list_empty(&peer->outgoingReliableCommands) && enet_list_empty(&peer->outgoingUnreliableCommands) && enet_list_empty(&peer->sentReliableCommands) && enet_list_empty(&peer->sentUnreliableCommands))
|
|
|
enet_peer_disconnect(peer, peer->eventData);
|
|
|
}
|
|
|
|