Core/Channels: Fix crash in HandleJoinChannel introduced with commit bbde479f4a.

This commit is contained in:
kaelima
2011-09-05 13:53:14 +02:00
parent cf0921f656
commit 18af717a0f
@@ -26,15 +26,21 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket)
uint32 channel_id; uint32 channel_id;
uint8 unknown1, unknown2; uint8 unknown1, unknown2;
std::string channelname, pass; std::string channelname, pass;
ChatChannelsEntry const* channel;
recvPacket >> channel_id; recvPacket >> channel_id;
if (channel_id) if (channel_id)
{ {
channel = sChatChannelsStore.LookupEntry(channel_id); ChatChannelsEntry const* channel = sChatChannelsStore.LookupEntry(channel_id);
if (!channel) if (!channel)
return; return;
AreaTableEntry const* current_zone = GetAreaEntryByAreaID(_player->GetZoneId());
if (!current_zone)
return;
if (!_player->CanJoinConstantChannelInZone(channel, current_zone))
return;
} }
recvPacket >> unknown1 >> unknown2; recvPacket >> unknown1 >> unknown2;
@@ -45,13 +51,6 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket)
recvPacket >> pass; recvPacket >> pass;
AreaTableEntry const* current_zone = GetAreaEntryByAreaID(_player->GetZoneId());
if (!current_zone)
return;
if (!_player->CanJoinConstantChannelInZone(channel, current_zone))
return;
if (ChannelMgr* cMgr = channelMgr(_player->GetTeam())) if (ChannelMgr* cMgr = channelMgr(_player->GetTeam()))
{ {
cMgr->team = _player->GetTeam(); cMgr->team = _player->GetTeam();