diff options
author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-08-23 17:58:36 +0300 |
---|---|---|
committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-08-23 17:58:36 +0300 |
commit | 534bffb257044c407b8d3d8384ed0223fa9cb709 (patch) | |
tree | 48adfc699affd30826ac22f37234ec66f911c7bd /indra | |
parent | 7d77b82f3779ea964079af363f69f31f14e88224 (diff) |
MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llfloater.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 1f9869fadc..93ee1ceee3 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2320,7 +2320,17 @@ void LLFloaterView::restoreAll() // make sure all subwindows aren't minimized for ( child_list_const_iter_t child_it = getChildList()->begin(); child_it != getChildList()->end(); ++child_it) { - LLFloater* floaterp = dynamic_cast<LLFloater*>(*child_it); + LLFloater* floaterp = NULL; + try + { + floaterp = dynamic_cast<LLFloater*>(*child_it); + } + catch (std::exception e) // See MAINT-6511 + { + LL_WARNS() << "Caught exception: " << e.what() << LL_ENDL; + continue; + } + if (floaterp) { floaterp->setMinimized(FALSE); |