diff --git a/server/imserver/chatmgr.h b/server/imserver/chatmgr.h index fc6149e..da6ecb5 100644 --- a/server/imserver/chatmgr.h +++ b/server/imserver/chatmgr.h @@ -51,11 +51,12 @@ class ChatMgr : public a8::Singleton void ProcPrivateChat(Player* hum, const cs::CMSendChatMsg& msg); void ProcGuildChat(Player* hum, const cs::CMSendChatMsg& msg); - private: - ChatedUserRec* GetChatedUser(const std::string& account_id); void SyncWorldChatMsg(Player* hum); void SyncPrivateChatMsg(Player* hum); void SyncGuildChatMsg(Player* hum); + + private: + ChatedUserRec* GetChatedUser(const std::string& account_id); void AddChatedUser(const std::string& sender_id, const std::string& receiver_id, cs::MFChatMsg* chat_msg, long long last_id); diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 8b5e0b6..b944dbc 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -595,16 +595,17 @@ void Player::_CMReadMsgAndOpenChatNotify(f8::MsgHdr& hdr, const cs::CMReadMsgAnd case kCCWorld: { world_channel_last_id = pair.val(); + ChatMgr::Instance()->SyncWorldChatMsg(this); } break; case kCCPrivate: { - } break; case kCCGuild: { guild_channel_last_id = pair.val(); + ChatMgr::Instance()->SyncGuildChatMsg(this); } break; default: