diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2018-02-05 13:45:52 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2018-02-05 13:45:52 -0300 |
| commit | 650a92dc9fcbcf794000e59fad2cd8df8ebf9fd3 (patch) | |
| tree | d4628916ebc3a86ac2009a740ec86ae5a5281251 | |
| parent | 4bd2d28119a884d9697713d58ae773557a4e6ad3 (diff) | |
Core/Channel: properly notify client about invalid channel names
Closes #16190
| -rw-r--r-- | src/server/game/Chat/Channels/ChannelMgr.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Handlers/ChannelHandler.cpp | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/server/game/Chat/Channels/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp index 7e56d6584d5..3deb2ee7221 100644 --- a/src/server/game/Chat/Channels/ChannelMgr.cpp +++ b/src/server/game/Chat/Channels/ChannelMgr.cpp @@ -16,8 +16,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "Channel.h" #include "ChannelMgr.h" +#include "Channel.h" #include "DBCStores.h" #include "Player.h" #include "World.h" diff --git a/src/server/game/Handlers/ChannelHandler.cpp b/src/server/game/Handlers/ChannelHandler.cpp index f373edf244e..c4da770623d 100644 --- a/src/server/game/Handlers/ChannelHandler.cpp +++ b/src/server/game/Handlers/ChannelHandler.cpp @@ -49,11 +49,13 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket) return; } - if (channelName.empty()) - return; - - if (isdigit(channelName[0])) + if (channelName.empty() || isdigit(channelName[0])) + { + WorldPacket data(SMSG_CHANNEL_NOTIFY, 1 + channelName.size()); + data << uint8(CHAT_INVALID_NAME_NOTICE) << channelName; + SendPacket(&data); return; + } if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeam())) if (Channel* channel = cMgr->GetJoinChannel(channelId, channelName, zone)) |
