diff options
| -rw-r--r-- | indra/llmessage/llcachename.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloatertopobjects.cpp | 67 | 
2 files changed, 48 insertions, 25 deletions
diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp index f8c0d05baa..ef60fd5c4e 100644 --- a/indra/llmessage/llcachename.cpp +++ b/indra/llmessage/llcachename.cpp @@ -530,6 +530,12 @@ std::string LLCacheName::cleanFullName(const std::string& full_name)  //static   std::string LLCacheName::buildUsername(const std::string& full_name)  { +	// rare, but handle hard-coded error names returned from server +	if (full_name == "(\?\?\?) (\?\?\?)") +	{ +		return "(\?\?\?)"; +	} +	  	std::string::size_type index = full_name.find(' ');  	if (index != std::string::npos) diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 04eb5f5d86..c7c3c2f7da 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -34,7 +34,9 @@  #include "llfloatertopobjects.h" +// library includes  #include "message.h" +#include "llavatarnamecache.h"  #include "llfontgl.h"  #include "llagent.h" @@ -196,38 +198,53 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  		LLSD element;  		element["id"] = task_id; -		// These cause parse warnings. JC -		//element["object_name"] = name_buf; -		//element["owner_name"] = owner_buf; -		element["columns"][0]["column"] = "score"; -		element["columns"][0]["value"] = llformat("%0.3f", score); -		element["columns"][0]["font"] = "SANSSERIF"; + +		LLSD columns; +		columns[0]["column"] = "score"; +		columns[0]["value"] = llformat("%0.3f", score); +		columns[0]["font"] = "SANSSERIF"; +		 +		columns[1]["column"] = "name"; +		columns[1]["value"] = name_buf; +		columns[1]["font"] = "SANSSERIF"; +		 +		// Owner names can have trailing spaces sent from server +		LLStringUtil::trim(owner_buf); -		element["columns"][1]["column"] = "name"; -		element["columns"][1]["value"] = name_buf; -		element["columns"][1]["font"] = "SANSSERIF"; -		element["columns"][2]["column"] = "owner"; -		element["columns"][2]["value"] = LLCacheName::cleanFullName(owner_buf); -		element["columns"][2]["font"] = "SANSSERIF"; -		element["columns"][3]["column"] = "location"; -		element["columns"][3]["value"] = llformat("<%0.1f,%0.1f,%0.1f>", location_x, location_y, location_z); -		element["columns"][3]["font"] = "SANSSERIF"; -		element["columns"][4]["column"] = "time"; -		element["columns"][4]["value"] = formatted_time((time_t)time_stamp); -		element["columns"][4]["font"] = "SANSSERIF"; +		if (LLAvatarNameCache::useDisplayNames()) +		{ +			// ...convert hard-coded name from server to a username +			// *TODO: Send owner_id from server and look up display name +			owner_buf = LLCacheName::buildUsername(owner_buf); +		} +		else +		{ +			// ...just strip out legacy "Resident" name +			owner_buf = LLCacheName::cleanFullName(owner_buf); +		} +		columns[2]["column"] = "owner"; +		columns[2]["value"] = owner_buf; +		columns[2]["font"] = "SANSSERIF"; + +		columns[3]["column"] = "location"; +		columns[3]["value"] = llformat("<%0.1f,%0.1f,%0.1f>", location_x, location_y, location_z); +		columns[3]["font"] = "SANSSERIF"; +		columns[4]["column"] = "time"; +		columns[4]["value"] = formatted_time((time_t)time_stamp); +		columns[4]["font"] = "SANSSERIF";  		if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS  			&& have_extended_data)  		{ -			element["columns"][5]["column"] = "mono_time"; -			element["columns"][5]["value"] = llformat("%0.3f", mono_score); -			element["columns"][5]["font"] = "SANSSERIF"; +			columns[5]["column"] = "mono_time"; +			columns[5]["value"] = llformat("%0.3f", mono_score); +			columns[5]["font"] = "SANSSERIF"; -			element["columns"][6]["column"] = "URLs"; -			element["columns"][6]["value"] = llformat("%d", public_urls); -			element["columns"][6]["font"] = "SANSSERIF"; +			columns[6]["column"] = "URLs"; +			columns[6]["value"] = llformat("%d", public_urls); +			columns[6]["font"] = "SANSSERIF";  		} -		 +		element["columns"] = columns;  		list->addElement(element);  		mObjectListData.append(element);  | 
