Fix LLGroupMgr::removeObserver possibly failing to find and erase observers

Merged upstream in SLViewer PR#6051
This commit is contained in:
Hecklezz
2026-07-28 07:59:41 +10:00
parent bf7f016398
commit 11d6e5ffc9
+3 -7
View File
@@ -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;
}
}
}