From cd790bfd54733fe2d14dc501d99b826d968e1252 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Tue, 26 Jan 2010 10:45:53 +0200 Subject: Update for low bug EXT-4306 - Landmark name is shown with prefix in the group notice attachment. --HG-- branch : product-engine --- indra/newview/llviewermessage.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 0358efc0af..1d3ac3fb0f 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1436,6 +1436,31 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const return false; } +std::string get_display_name(const std::string& name) +{ + // We receive landmark name as \'@name\' where is a number + // LLViewerInventoryItem::getDisplayName will remove \'@ though we need the \' + // Lets save all chars preceding @ and insert them back after @ was removed + + std::string saved; + + if(std::string::npos != name.find(LLViewerInventoryItem::getSeparator())) + { + int n = 0; + while(!isdigit(name[n]) && LLViewerInventoryItem::getSeparator() != name[n]) + { + ++n; + } + saved = name.substr(0, n); + } + + std::string d_name = LLViewerInventoryItem::getDisplayName(name); + d_name.insert(0, saved); + LLStringUtil::trim(d_name); + + return d_name; +} + void inventory_offer_handler(LLOfferInfo* info) { //Until throttling is implmented, busy mode should reject inventory instead of silently @@ -1475,7 +1500,7 @@ void inventory_offer_handler(LLOfferInfo* info) if(LLAssetType::AT_LANDMARK == info->mType) { - msg = LLViewerInventoryItem::getDisplayName(msg); + msg = get_display_name(msg); } LLSD args; -- cgit v1.2.3