diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-10-08 18:20:37 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-10-08 18:20:37 -0700 | 
| commit | 0d619bcdc1fbb7869a6376749b0bd46b1d40c91e (patch) | |
| tree | 8f00045aee7ed36c3346fef37b10d4b625ca4475 | |
| parent | db452823e5cc615225f3f163d827954447cf9bd8 (diff) | |
CHUI-147 : Sort the residents names when getting a resident string list
| -rwxr-xr-x | indra/newview/llavataractions.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llavataractions.h | 2 | ||||
| -rw-r--r-- | indra/newview/llconversationmodel.cpp | 4 | 
3 files changed, 8 insertions, 6 deletions
| diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 50697d1885..3326103d03 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -697,15 +697,15 @@ namespace action_give_inventory  }  // static -void LLAvatarActions::buildResidentsString(const std::vector<LLAvatarName> avatar_names, std::string& residents_string) +void LLAvatarActions::buildResidentsString(std::vector<LLAvatarName> avatar_names, std::string& residents_string)  {  	llassert(avatar_names.size() > 0); - +	 +	std::sort(avatar_names.begin(), avatar_names.end());  	const std::string& separator = LLTrans::getString("words_separator");  	for (std::vector<LLAvatarName>::const_iterator it = avatar_names.begin(); ; )  	{ -		LLAvatarName av_name = *it; -		residents_string.append(av_name.mDisplayName); +		residents_string.append((*it).mDisplayName);  		if	(++it == avatar_names.end())  		{  			break; diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h index e7cef587c2..6e1198cd09 100644 --- a/indra/newview/llavataractions.h +++ b/indra/newview/llavataractions.h @@ -216,7 +216,7 @@ public:  	 * @param avatar_names - a vector of given avatar names from which resulting string is built  	 * @param residents_string - the resulting string  	 */ -	static void buildResidentsString(const std::vector<LLAvatarName> avatar_names, std::string& residents_string); +	static void buildResidentsString(std::vector<LLAvatarName> avatar_names, std::string& residents_string);  	/**  	 * Builds a string of residents' display names separated by "words_separator" string. diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp index 15824704fd..29e7ac4e12 100644 --- a/indra/newview/llconversationmodel.cpp +++ b/indra/newview/llconversationmodel.cpp @@ -159,7 +159,6 @@ void LLConversationItemSession::updateParticipantName(LLConversationItemParticip  		return;  	}  	// Build a string containing the participants names and check if ready for display (we don't want "(waiting)" in there) -	// *TODO: Further factor out common code with LLIMFloater::onParticipantsListChanged()  	bool all_names_resolved = true;  	uuid_vec_t temp_uuids; // uuids vector for building the added participants' names string  	child_list_t::iterator iter = mChildren.begin(); @@ -170,6 +169,9 @@ void LLConversationItemSession::updateParticipantName(LLConversationItemParticip  		LLAvatarName av_name;          if (!LLAvatarNameCache::get(current_participant->getUUID(), &av_name))          { +			// If the name is not in the cache yet, bail out +			// Note: we don't bind ourselves to the LLAvatarNameCache event as we are called by +			// onAvatarNameCache() which is itself attached to the same event.  			all_names_resolved = false;  			break;  		} | 
