diff options
author | Lynx Linden <lynx@lindenlab.com> | 2009-12-11 20:15:06 +0000 |
---|---|---|
committer | Lynx Linden <lynx@lindenlab.com> | 2009-12-11 20:15:06 +0000 |
commit | b303dbb086462271e8e4b16eabb699921c647647 (patch) | |
tree | 7df09e2879794fdbf909eef419265c9803d1bd5c /indra/newview/llavatarpropertiesprocessor.cpp | |
parent | 1f3a55470919bf451f9c45b454d9bbf815a3e88a (diff) | |
parent | 7c34cd8eb670ad559f4d1af58296ae57578c8e47 (diff) |
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0
Diffstat (limited to 'indra/newview/llavatarpropertiesprocessor.cpp')
-rw-r--r-- | indra/newview/llavatarpropertiesprocessor.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp index 7cda2d31e6..33e5046f50 100644 --- a/indra/newview/llavatarpropertiesprocessor.cpp +++ b/indra/newview/llavatarpropertiesprocessor.cpp @@ -440,11 +440,17 @@ void LLAvatarPropertiesProcessor::notifyObservers(const LLUUID& id,void* data, E // Copy the map (because observers may delete themselves when updated?) LLAvatarPropertiesProcessor::observer_multimap_t observers = mObservers; - observer_multimap_t::iterator oi = observers.lower_bound(id); - observer_multimap_t::iterator end = observers.upper_bound(id); + observer_multimap_t::iterator oi = observers.begin(); + observer_multimap_t::iterator end = observers.end(); for (; oi != end; ++oi) { - oi->second->processProperties(data,type); + // only notify observers for the same agent, or if the observer + // didn't know the agent ID and passed a NULL id. + const LLUUID &agent_id = oi->first; + if (agent_id == id || agent_id.isNull()) + { + oi->second->processProperties(data,type); + } } } |