From ae04cb854948ae3ef5c84ac11c2d7a4e04b28a9b Mon Sep 17 00:00:00 2001
From: Mnikolenko ProductEngine <mnikolenko@productengine.com>
Date: Wed, 5 Nov 2014 12:36:56 +0200
Subject: [PATCH] MAINT-4621 FIXED start new session with the caller (if it
 doesn't exist) and only then show autoreject message

---
 indra/newview/llimview.cpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 8d8239611c8..5d3a11e2451 100755
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -3061,6 +3061,24 @@ void LLIMMgr::inviteToSession(
 		{
 			if (gAgent.isDoNotDisturb() && !isRejectGroupCall && !isRejectNonFriendCall)
 			{
+				if (!hasSession(session_id) && (type == IM_SESSION_P2P_INVITE))
+				{
+					std::string fixed_session_name = caller_name;
+					if(!session_name.empty() && session_name.size()>1)
+					{
+						fixed_session_name = session_name;
+					}
+					else
+					{
+						LLAvatarName av_name;
+						if (LLAvatarNameCache::get(caller_id, &av_name))
+						{
+							fixed_session_name = av_name.getDisplayName();
+						}
+					}
+					LLIMModel::getInstance()->newSession(session_id, fixed_session_name, IM_NOTHING_SPECIAL, caller_id, false, false);
+				}
+
 				LLSD args;
 				addSystemMessage(session_id, "you_auto_rejected_call", args);
 				send_do_not_disturb_message(gMessageSystem, caller_id, session_id);
-- 
GitLab