From 360ce3d667ecd9ac6c6c8b4a91902997ca7de60a Mon Sep 17 00:00:00 2001
From: Leyla Farazha <leyla@lindenlab.com>
Date: Wed, 27 Oct 2010 15:22:39 -0700
Subject: [PATCH] DN-190 Last name resident shown in title of IM Conference
 Window with no Display name

---
 indra/newview/llimview.cpp | 20 ++++++++------------
 indra/newview/llimview.h   |  2 ++
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 349ef8185f7..02a693b9a00 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -257,21 +257,17 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string&
 	// history files have consistent (English) names in different locales.
 	if (isAdHocSessionType() && IM_SESSION_INVITE == type)
 	{
-		// Name here has a form of "<Avatar's name> Conference"
-		// Lets update it to localize the "Conference" word. See EXT-8429.
-		S32 separator_index = mName.rfind(" ");
-		std::string name = mName.substr(0, separator_index);
-		++separator_index;
-		std::string conference_word = mName.substr(separator_index, mName.length());
+		LLAvatarNameCache::get(mOtherParticipantID, 
+							   boost::bind(&LLIMModel::LLIMSession::onAdHocNameCache, 
+							   this, _2));
+	}
+}
 
-		// additional check that session name is what we expected
-		if ("Conference" == conference_word)
-		{
+void LLIMModel::LLIMSession::onAdHocNameCache(const LLAvatarName& av_name)
+{
 			LLStringUtil::format_map_t args;
-			args["[AGENT_NAME]"] = name;
+	args["[AGENT_NAME]"] = av_name.getCompleteName();
 			LLTrans::findString(mName, "conference-title-incoming", args);
-		}
-	}
 }
 
 void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state, const LLVoiceChannel::EDirection& direction)
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index 3da44658621..650d329e185 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -100,6 +100,8 @@ class LLIMModel :  public LLSingleton<LLIMModel>
 
 		void onAvatarNameCache(const LLUUID& avatar_id, const LLAvatarName& av_name);
 
+		void onAdHocNameCache(const LLAvatarName& av_name);
+
 		//*TODO make private
 		static std::string generateHash(const std::set<LLUUID>& sorted_uuids);
 
-- 
GitLab