diff options
| -rw-r--r-- | indra/newview/llimview.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llimview.h | 2 | 
2 files changed, 7 insertions, 4 deletions
| diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index d5142a4496..ee3cb338e7 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2734,7 +2734,7 @@ void LLIMMgr::addMessage(  			if (LLMuteList::getInstance()->isMuted(other_participant_id, LLMute::flagTextChat) && !from_linden)  			{  				LL_WARNS() << "Leaving IM session from initiating muted resident " << from << LL_ENDL; -				if (!gIMMgr->leaveSession(new_session_id)) +				if (!gIMMgr->leaveSession(new_session_id, !session->isGroupSessionType()))  				{  					LL_INFOS() << "Session " << new_session_id << " does not exist." << LL_ENDL;  				} @@ -2964,12 +2964,15 @@ LLUUID LLIMMgr::addSession(  	return session_id;  } -bool LLIMMgr::leaveSession(const LLUUID& session_id) +bool LLIMMgr::leaveSession(const LLUUID& session_id, bool send_leave_msg)  {  	LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id);  	if (!im_session) return false; -	LLIMModel::getInstance()->sendLeaveSession(session_id, im_session->mOtherParticipantID); +	if (send_leave_msg) +	{ +		LLIMModel::getInstance()->sendLeaveSession(session_id, im_session->mOtherParticipantID); +	}  	gIMMgr->removeSession(session_id);  	return true;  } diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 79c831ebb6..3cd808c75c 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -380,7 +380,7 @@ public:  	 * to the server and removes all associated session data  	 * @return false if the session with specified id was not exist  	 */ -	bool leaveSession(const LLUUID& session_id); +	bool leaveSession(const LLUUID& session_id, bool send_leave_msg = true);  	void inviteToSession(  		const LLUUID& session_id,  | 
