diff options
| author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-03-30 14:09:50 +0300 |
|---|---|---|
| committer | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-03-30 14:09:50 +0300 |
| commit | 198cd4df09d4d6aa9c5bbb6be9c4395d134f9f13 (patch) | |
| tree | d4b87f39ab6353138594ca153ddadd5b217def00 /indra/llui/llfloater.cpp | |
| parent | e161b128c7eac6df63b6d9210f3bca6c3cbc77ea (diff) | |
| parent | c7053a6928fd5eafdc935453742e92951ae4e0c1 (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.cpp | 8 |
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>(); |
