summaryrefslogtreecommitdiff
path: root/indra/newview/llmutelist.cpp
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2013-09-26 11:45:07 -0700
committerGraham Linden <graham@lindenlab.com>2013-09-26 11:45:07 -0700
commit037cbf82310710a1ec8f0affd2bba24aa87d20b5 (patch)
tree51eb135eaaff94a8ed119486d05e963c2cd8a676 /indra/newview/llmutelist.cpp
parent0103cac1ddda96fd470238d2c8b73c2cf55b6c12 (diff)
parente285d515d5b94acce280edf586a16272931749d9 (diff)
Merge lion for good measure
Diffstat (limited to 'indra/newview/llmutelist.cpp')
-rwxr-xr-xindra/newview/llmutelist.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp
index 54522bb7f6..0720d443f8 100755
--- a/indra/newview/llmutelist.cpp
+++ b/indra/newview/llmutelist.cpp
@@ -251,6 +251,7 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)
llinfos << "Muting by name " << mute.mName << llendl;
updateAdd(mute);
notifyObservers();
+ notifyObserversDetailed(mute);
return TRUE;
}
else
@@ -299,6 +300,7 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)
llinfos << "Muting " << localmute.mName << " id " << localmute.mID << " flags " << localmute.mFlags << llendl;
updateAdd(localmute);
notifyObservers();
+ notifyObserversDetailed(localmute);
if(!(localmute.mFlags & LLMute::flagParticles))
{
//Kill all particle systems owned by muted task
@@ -396,6 +398,7 @@ BOOL LLMuteList::remove(const LLMute& mute, U32 flags)
}
// Must be after erase.
+ notifyObserversDetailed(localmute);
setLoaded(); // why is this here? -MG
}
else
@@ -409,6 +412,7 @@ BOOL LLMuteList::remove(const LLMute& mute, U32 flags)
updateRemove(mute);
mLegacyMutes.erase(legacy_it);
// Must be after erase.
+ notifyObserversDetailed(mute);
setLoaded(); // why is this here? -MG
}
}
@@ -762,3 +766,16 @@ void LLMuteList::notifyObservers()
it = mObservers.upper_bound(observer);
}
}
+
+void LLMuteList::notifyObserversDetailed(const LLMute& mute)
+{
+ for (observer_set_t::iterator it = mObservers.begin();
+ it != mObservers.end();
+ )
+ {
+ LLMuteListObserver* observer = *it;
+ observer->onChangeDetailed(mute);
+ // In case onChange() deleted an entry.
+ it = mObservers.upper_bound(observer);
+ }
+}