diff options
| author | Dave Parks <davep@lindenlab.com> | 2023-03-31 11:57:48 -0500 |
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2023-03-31 11:57:48 -0500 |
| commit | 7d144fcb2a1b0aff1b59e378c652649c3d03e94f (patch) | |
| tree | de3bfe3ce90677cc4d7ab25b8aeaf5853c009068 /indra/llui/llfloater.cpp | |
| parent | 0fe09bd968b987605123e99efb2fa040a988a942 (diff) | |
| parent | e4173ea5cc1ef9b1677ac87a0f7c8acbe73414ee (diff) | |
Merge branch 'DRTVWR-559' of 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>(); |
