diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-05-20 00:14:12 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-05-20 01:35:40 +0300 |
commit | d1265cda36f31d0273b0cd57e1e6c762dfc0b29f (patch) | |
tree | ce57291125a3a4691cf017ebfaa19180fe3b8bbe /indra/newview | |
parent | ed74d15246ded84ded3a096046d79e95352b444e (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.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llvoicevivox.cpp | 4 |
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 |