summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llgroupmgr.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp
index e0da762279..6081b36918 100644
--- a/indra/newview/llgroupmgr.cpp
+++ b/indra/newview/llgroupmgr.cpp
@@ -869,19 +869,15 @@ void LLGroupMgr::removeObserver(LLGroupMgrObserver* observer)
{
return;
}
- observer_multimap_t::iterator it;
- it = mObservers.find(observer->getID());
- while (it != mObservers.end())
+ observer_multimap_t::iterator it = mObservers.lower_bound(observer->getID());
+ observer_multimap_t::iterator end = mObservers.upper_bound(observer->getID());
+ for (; it != end; ++it)
{
if (it->second == observer)
{
mObservers.erase(it);
break;
}
- else
- {
- ++it;
- }
}
}