summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2022-05-20 00:14:12 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2022-05-20 01:35:40 +0300
commitd1265cda36f31d0273b0cd57e1e6c762dfc0b29f (patch)
treece57291125a3a4691cf017ebfaa19180fe3b8bbe /indra/newview
parented74d15246ded84ded3a096046d79e95352b444e (diff)
SL-17425 Crash when closing two dependent floaters
dependent_it in llfloater was not valid after dependent floater removed itself from the list
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llmediadataclient.cpp3
-rw-r--r--indra/newview/llvoicevivox.cpp4
2 files changed, 3 insertions, 4 deletions
diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp
index bc45eb6d3a..9d0f62a30d 100644
--- a/indra/newview/llmediadataclient.cpp
+++ b/indra/newview/llmediadataclient.cpp
@@ -154,8 +154,7 @@ void mark_dead_and_remove_if(T &c, const PredicateMatchRequest &matchPred)
if (matchPred(*it))
{
(*it)->markDead();
- // *TDOO: When C++11 is in change the following line to: it = c.erase(it);
- c.erase(it++);
+ it = c.erase(it);
}
else
{
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 170508f607..3946079d68 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -4779,7 +4779,7 @@ void LLVivoxVoiceClient::sessionState::VerifySessions()
if ((*it).expired())
{
LL_WARNS("Voice") << "Expired session found! removing" << LL_ENDL;
- mSession.erase(it++);
+ it = mSession.erase(it);
}
else
++it;
@@ -6834,7 +6834,7 @@ void LLVivoxVoiceClient::deleteVoiceFont(const LLUUID& id)
if (list_iter->second == id)
{
LL_DEBUGS("VoiceFont") << "Removing " << id << " from the voice font list." << LL_ENDL;
- mVoiceFontList.erase(list_iter++);
+ list_iter = mVoiceFontList.erase(list_iter);
mVoiceFontListDirty = true;
}
else