From bf6ec88a01fa3d7197a3029d1ee1e746ab9c34fb Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 25 Jan 2015 19:59:56 +0300 Subject: eathena: fix join built in channel tabs. --- src/being/localplayer.cpp | 3 ++- src/gui/windows/chatwindow.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp index a6636ba77..17ee2d823 100644 --- a/src/being/localplayer.cpp +++ b/src/being/localplayer.cpp @@ -48,6 +48,7 @@ #include "input/keyboardconfig.h" +#include "gui/chatconsts.h" #include "gui/gui.h" #include "gui/popupmanager.h" @@ -408,7 +409,7 @@ void LocalPlayer::setGMLevel(const int level) { chatWindow->loadGMCommands(); if (!gmChatTab && config.getBoolValue("enableGmTab")) - gmChatTab = new GmTab(chatWindow); + chatWindow->addSpecialChannelTab(GM_CHANNEL, false); } } } diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp index 7c32a6298..4324acca5 100644 --- a/src/gui/windows/chatwindow.cpp +++ b/src/gui/windows/chatwindow.cpp @@ -1205,13 +1205,17 @@ ChatTab *ChatWindow::addSpecialChannelTab(const std::string &name, { tradeChatTab = new TradeTab(chatWindow); tradeChatTab->setAllowHighlight(false); + chatHandler->joinChannel(tradeChatTab->getChannelName()); } ret = tradeChatTab; } else if (name == GM_CHANNEL) { if (!gmChatTab) + { gmChatTab = new GmTab(chatWindow); + chatHandler->joinChannel(gmChatTab->getChannelName()); + } ret = gmChatTab; } if (switchTo) @@ -1279,6 +1283,8 @@ void ChatWindow::postConnection() return; chatHandler->joinChannel(tab->getChannelName()); } + if (langChatTab) + chatHandler->joinChannel(langChatTab->getChannelName()); } #define changeColor(fun) \ -- cgit v1.2.3-70-g09d2