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 | b4ee80b91bfa1bdc427aaf5f5821e2a5590e21f4 (patch) | |
tree | 0643c34f8a645f2b61f7102022092ecf4ed1a7b4 /indra/llui | |
parent | 377683a8ed85a0f6dcf78ba0d3c78f2fd9fff5d7 (diff) |
MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling
Diffstat (limited to 'indra/llui')
-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..b3048a9b16 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 = nullptr; + 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); |