summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chat-server/chatchannelmanager.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/chat-server/chatchannelmanager.cpp b/src/chat-server/chatchannelmanager.cpp
index e9ba7708..7a98f2cb 100644
--- a/src/chat-server/chatchannelmanager.cpp
+++ b/src/chat-server/chatchannelmanager.cpp
@@ -28,6 +28,7 @@
#include "defines.h"
#include "account-server/dalstorage.hpp"
#include "chat-server/chatclient.hpp"
+#include "chat-server/chathandler.hpp"
ChatChannelManager::ChatChannelManager() : mNextChannelId(1)
{
@@ -74,7 +75,7 @@ std::list<const ChatChannel*> ChatChannelManager::getPublicChannels()
i_end = mChatChannels.end();
i != i_end; ++i)
{
- if (!i->second.canJoin())
+ if (i->second.canJoin())
{
channels.push_back(&i->second);
}
@@ -123,7 +124,10 @@ void ChatChannelManager::removeUserFromAllChannels(ChatClient *user)
for (std::vector<ChatChannel *>::const_reverse_iterator
i = channels.rbegin(), i_end = channels.rend(); i != i_end; ++i)
{
- (*i)->removeUser(user);
+ chatHandler->warnUsersAboutPlayerEventInChat((*i),
+ user->characterName,
+ CHAT_EVENT_LEAVING_PLAYER);
+ (*i)->removeUser(user);
}
}