From c1eeca2c67f4784174527821eb4fe7b77a12b09d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 24 Jun 2020 16:10:37 +0800 Subject: [PATCH] 1 --- server/imserver/player.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 02824c9..1631644 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -482,14 +482,16 @@ void Player::_CMGroupRename(f8::MsgHdr& hdr, const cs::CMGroupRename& msg) void Player::_SS_IM_FriendAgreeRequest(f8::MsgHdr& hdr, const ss::SS_IM_FriendAgreeRequest& msg) { if (!GetFriendById(msg.context().user_info().base_data().account_id())) { - Friend* friendobj = new Friend; - TypeConvert::Convert(msg.context().user_info().base_data(), friendobj->base_data); - TypeConvert::Convert(msg.context().user_info().temp_custom_data(), friendobj->temp_custom_data); - if (AddFriend(friendobj) != 0) { - delete friendobj; - return; + if (CanAddFriend(msg.context().user_info().base_data().account_id())) { + Friend* friendobj = new Friend; + TypeConvert::Convert(msg.context().user_info().base_data(), friendobj->base_data); + TypeConvert::Convert(msg.context().user_info().temp_custom_data(), friendobj->temp_custom_data); + if (AddFriend(friendobj) != 0) { + delete friendobj; + return; + } + QueryUserOnline({friendobj->base_data.account_id}); } - QueryUserOnline({friendobj->base_data.account_id}); } RemoveHandledApply(); f8::MsgHdr* hdr_copy = hdr.Clone();