diff options
author | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2023-03-31 10:54:22 -0700 |
---|---|---|
committer | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2023-03-31 10:54:22 -0700 |
commit | 4e306c90666094a7450f4d6f3ed7c8b71527e393 (patch) | |
tree | 4e52cfe3cfc7df8060ec5336f53d91636986b43c /indra/llui/llfloater.cpp | |
parent | b44ad50f75724a5d9e53bd52d2724111568caf24 (diff) | |
parent | 7d144fcb2a1b0aff1b59e378c652649c3d03e94f (diff) |
Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer into DRTVWR-559
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>(); |