summaryrefslogtreecommitdiff
path: root/indra/newview/llmutelist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llmutelist.cpp')
-rw-r--r--indra/newview/llmutelist.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp
index f36e282ea0..4d02af8fae 100644
--- a/indra/newview/llmutelist.cpp
+++ b/indra/newview/llmutelist.cpp
@@ -62,6 +62,8 @@
#include "llviewergenericmessage.h" // for gGenericDispatcher
#include "llviewerwindow.h"
#include "llworld.h" //for particle system banning
+#include "llviewerobject.h"
+#include "llviewerobjectlist.h"
LLMuteList* gMuteListp = NULL;
@@ -513,8 +515,21 @@ BOOL LLMuteList::saveToFile(const LLString& filename)
BOOL LLMuteList::isMuted(const LLUUID& id, const LLString& name, U32 flags) const
{
+ LLUUID id_to_check = id;
+
+ // for objects, check for muting on their parent prim
+ LLViewerObject *objectp = gObjectList.findObject(id);
+ if ((objectp) && (!objectp->isAvatar()))
+ {
+ LLViewerObject *parentp = (LLViewerObject *)objectp->getParent();
+ if (parentp)
+ {
+ id_to_check = parentp->getID();
+ }
+ }
+
// don't need name or type for lookup
- LLMute mute(id);
+ LLMute mute(id_to_check);
mute_set_t::const_iterator mute_it = mMutes.find(mute);
if (mute_it != mMutes.end())
{