From 8af84b8c8728fabae386c64980f7f11deba1741a Mon Sep 17 00:00:00 2001 From: false_genesis Date: Tue, 30 Sep 2008 23:09:35 +0000 Subject: [PATCH] * fixed delayed CMSG_CHANNEL_LIST opcode spam to server if a channel list contained some guids which names were not yet known. --- src/Client/World/Channel.cpp | 6 ++++-- src/shared.vcproj | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Client/World/Channel.cpp b/src/Client/World/Channel.cpp index 400c917..721a257 100644 --- a/src/Client/World/Channel.cpp +++ b/src/Client/World/Channel.cpp @@ -229,16 +229,18 @@ void Channel::HandleListRequest(WorldPacket& recvPacket) for(uint32 i = 0; i < size; i++) { recvPacket >> guid >> mode; - // all player names in this packet must be known before + // all player names in this packet must be known before we can continue if(_worldSession->GetOrRequestPlayerName(guid).empty()) { - _worldSession->_DelayWorldPacket(recvPacket, uint32(_worldSession->GetLagMS() * 1.2f)); must_delay = true; } cpl[guid] = mode; } if(must_delay) + { + _worldSession->_DelayWorldPacket(recvPacket, uint32(_worldSession->GetLagMS() * 1.2f)); return; + } // store list of GUIDs in: @ChannelList - see below DefList *l = _worldSession->GetInstance()->GetScripts()->lists.Get("@ChannelList"); diff --git a/src/shared.vcproj b/src/shared.vcproj index 2b9593d..4111445 100644 --- a/src/shared.vcproj +++ b/src/shared.vcproj @@ -312,7 +312,7 @@ - +