mirror of
https://github.com/FirestormViewer/phoenix-firestorm.git
synced 2026-08-14 00:48:30 +00:00
Fix LLGroupMgr::removeObserver possibly failing to find and erase observers
Merged upstream in SLViewer PR#6051
This commit is contained in:
@@ -888,19 +888,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user