diff options
author | Kakurady | 2009-10-16 13:55:54 -0400 |
---|---|---|
committer | McCabe Maxsted | 2009-10-16 16:43:59 -0700 |
commit | 4cf2b9abe06996ea5ca1ee68d9008b3bd4d08dc1 (patch) | |
tree | f6913085ee703220c77c66c36e7fe6612ef8699a | |
parent | Continue to fix unable to compile on CP936 (diff) | |
download | meta-impy-4cf2b9abe06996ea5ca1ee68d9008b3bd4d08dc1.zip meta-impy-4cf2b9abe06996ea5ca1ee68d9008b3bd4d08dc1.tar.gz meta-impy-4cf2b9abe06996ea5ca1ee68d9008b3bd4d08dc1.tar.bz2 meta-impy-4cf2b9abe06996ea5ca1ee68d9008b3bd4d08dc1.tar.xz |
Fix muting objects with same name as avatar mutes ScriptDialogs from avatar.
ScriptDialogs from muted objects or groups will not be displayed either.
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index c403e3e..eeef114 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -5479,18 +5479,32 @@ void process_script_dialog(LLMessageSystem* msg, void**) | |||
5479 | 5479 | ||
5480 | // Don't show lldialog boxes from muted avs -- McCabe | 5480 | // Don't show lldialog boxes from muted avs -- McCabe |
5481 | std::string agent_name = first_name + " " + last_name; | 5481 | std::string agent_name = first_name + " " + last_name; |
5482 | if (!first_name.empty()) | 5482 | if (!last_name.empty()) |
5483 | { | 5483 | { |
5484 | std::vector<LLMute> mutes = LLMuteList::getInstance()->getMutes(); | 5484 | std::vector<LLMute> mutes = LLMuteList::getInstance()->getMutes(); |
5485 | for (U32 i = 0; i < mutes.size(); i++) | 5485 | for (U32 i = 0; i < mutes.size(); i++) |
5486 | { | 5486 | { |
5487 | if (mutes[i].mName == agent_name) | 5487 | //this is almost like saying (mutes[i].mType != LLMute::Object), but more verbose ... -Kaku |
5488 | if ( | ||
5489 | ((mutes[i].mType == LLMute::AGENT) | ||
5490 | && (mutes[i].mName == agent_name)) | ||
5491 | || ((mutes[i].mType == LLMute::GROUP) | ||
5492 | && (mutes[i].mName == last_name)) | ||
5493 | || ((mutes[i].mType == LLMute::BY_NAME) | ||
5494 | //don't mute groups by name in case a group has a last name as a group name. | ||
5495 | && ((mutes[i].mName == agent_name))) | ||
5496 | ) | ||
5488 | { | 5497 | { |
5489 | delete info; | 5498 | delete info; |
5490 | return; | 5499 | return; |
5491 | } | 5500 | } |
5492 | } | 5501 | } |
5493 | } | 5502 | } |
5503 | // or Scriptdialog boxes from muted objects -- Kakurady | ||
5504 | if (LLMuteList::getInstance()->isMuted(info->mObjectID, title)){ | ||
5505 | delete info; | ||
5506 | return; | ||
5507 | } | ||
5494 | 5508 | ||
5495 | // unused for now | 5509 | // unused for now |
5496 | LLUUID image_id; | 5510 | LLUUID image_id; |