diff options
author | James Cook <james@lindenlab.com> | 2009-10-16 23:20:05 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2009-10-16 23:20:05 +0000 |
commit | a4c657a49dd055cdc773c95b04713f403ea9c44c (patch) | |
tree | ab4731917d9d330c636773d4ce5015f59dd070a4 /indra/newview/llgroupmgr.cpp | |
parent | e3c4b5ad26e6c4583fc2a736aea1370cc06ac6b2 (diff) |
Group inspectors now work. They are hooked up to About Land, build tools floater, and anywhere secondlife:///app/group URLs appear. Reviewed with Leyla.
Diffstat (limited to 'indra/newview/llgroupmgr.cpp')
-rw-r--r-- | indra/newview/llgroupmgr.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index 5e50fad008..01d0f2296a 100644 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -1325,11 +1325,16 @@ void LLGroupMgr::notifyObservers(LLGroupChange gc) { for (group_map_t::iterator gi = mGroups.begin(); gi != mGroups.end(); ++gi) { + LLUUID group_id = gi->first; if (gi->second->mChanged) { + // Copy the map because observers may remove themselves on update + observer_multimap_t observers = mObservers; + // find all observers for this group id - observer_multimap_t::iterator oi = mObservers.find(gi->first); - for (; oi != mObservers.end(); ++oi) + observer_multimap_t::iterator oi = observers.lower_bound(group_id); + observer_multimap_t::iterator end = observers.upper_bound(group_id); + for (; oi != end; ++oi) { oi->second->changed(gc); } |