diff -r c42575f2cde8 -r 951fd0cc3748 doc/contributions.txt --- a/doc/contributions.txt Mon Oct 17 16:27:18 2011 -0400 +++ b/doc/contributions.txt Tue Dec 06 11:45:07 2011 -0500 @@ -577,6 +577,7 @@ STORM-1574 STORM-1579 STORM-1639 + STORM-1653 Kadah Coba STORM-1060 Jondan Lundquist diff -r c42575f2cde8 -r 951fd0cc3748 indra/newview/llviewermessage.cpp --- a/indra/newview/llviewermessage.cpp Mon Oct 17 16:27:18 2011 -0400 +++ b/indra/newview/llviewermessage.cpp Tue Dec 06 11:45:07 2011 -0500 @@ -2241,6 +2241,10 @@ { name = LLTrans::getString("Unnamed"); } + + // Preserve the unaltered name for use in group notice mute checking. + std::string original_name = name; + // IDEVO convert new-style "Resident" names for display name = clean_name_from_im(name, dialog); @@ -2447,6 +2451,26 @@ break; } + // The group notice packet does not have an AgentID. Obtain one from the name cache. + // If last name is "Resident" strip it out so the cache name lookup works. + U32 index = original_name.find(" Resident"); + if (index != std::string::npos) + { + original_name = original_name.substr(0, index); + } + std::string legacy_name = gCacheName->buildLegacyName(original_name); + LLUUID agent_id; + gCacheName->getUUID(legacy_name, agent_id); + + if (agent_id.isNull()) + { + LL_WARNS("Messaging") << "buildLegacyName returned null while processing " << original_name << LL_ENDL; + } + else if (LLMuteList::getInstance()->isMuted(agent_id)) + { + break; + } + notice_bin_bucket = (struct notice_bucket_full_t*) &binary_bucket[0]; U8 has_inventory = notice_bin_bucket->header.has_inventory; U8 asset_type = notice_bin_bucket->header.asset_type;