summaryrefslogtreecommitdiff
path: root/indra/llui/llfloater.cpp
diff options
context:
space:
mode:
authorMaxim Nikolenko <maximnproductengine@lindenlab.com>2023-03-30 14:09:50 +0300
committerMaxim Nikolenko <maximnproductengine@lindenlab.com>2023-03-30 14:09:50 +0300
commit198cd4df09d4d6aa9c5bbb6be9c4395d134f9f13 (patch)
treed4b87f39ab6353138594ca153ddadd5b217def00 /indra/llui/llfloater.cpp
parente161b128c7eac6df63b6d9210f3bca6c3cbc77ea (diff)
parentc7053a6928fd5eafdc935453742e92951ae4e0c1 (diff)
Merge branch 'main' into DRTVWR-567
# Conflicts: # indra/newview/llinventoryfunctions.cpp # indra/newview/llpanelmaininventory.h # indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml # indra/newview/skins/default/xui/en/sidepanel_item_info.xml
Diffstat (limited to 'indra/llui/llfloater.cpp')
-rw-r--r--indra/llui/llfloater.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index d413fab270..2303cd24b7 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -759,11 +759,13 @@ void LLFloater::closeFloater(bool app_quitting)
}
// now close dependent floater
- for(handle_set_iter_t dependent_it = mDependents.begin();
- dependent_it != mDependents.end(); )
+ while(mDependents.size() > 0)
{
+ handle_set_iter_t dependent_it = mDependents.begin();
LLFloater* floaterp = dependent_it->get();
- dependent_it = mDependents.erase(dependent_it);
+ // normally removeDependentFloater will do this, but in
+ // case floaterp is somehow invalid or orphaned, erase now
+ mDependents.erase(dependent_it);
if (floaterp)
{
floaterp->mDependeeHandle = LLHandle<LLFloater>();