summaryrefslogtreecommitdiff
path: root/indra/newview/llmutelist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llmutelist.cpp')
-rw-r--r--[-rwxr-xr-x]indra/newview/llmutelist.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp
index 65ac11092c..3f4f2446e8 100755..100644
--- a/indra/newview/llmutelist.cpp
+++ b/indra/newview/llmutelist.cpp
@@ -315,6 +315,11 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)
{
LLPipeline::removeMutedAVsLights(avatarp);
}
+ //remove agent's notifications as well
+ if (localmute.mType == LLMute::AGENT)
+ {
+ LLNotifications::instance().cancelByOwner(localmute.mID);
+ }
return TRUE;
}
}
@@ -646,6 +651,22 @@ BOOL LLMuteList::isMuted(const LLUUID& id, const std::string& name, U32 flags) c
return legacy_it != mLegacyMutes.end();
}
+BOOL LLMuteList::isMuted(const std::string& username, U32 flags) const
+{
+ mute_set_t::const_iterator mute_iter = mMutes.begin();
+ while(mute_iter != mMutes.end())
+ {
+ // can't convert "leha.test" into "LeHa TesT" so username comparison is more reliable
+ if (mute_iter->mType == LLMute::AGENT
+ && LLCacheName::buildUsername(mute_iter->mName) == username)
+ {
+ return TRUE;
+ }
+ mute_iter++;
+ }
+ return FALSE;
+}
+
//-----------------------------------------------------------------------------
// requestFromServer()
//-----------------------------------------------------------------------------