summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorAndreyL ProductEngine <alihatskiy@productengine.com>2016-08-23 17:58:36 +0300
committerAndreyL ProductEngine <alihatskiy@productengine.com>2016-08-23 17:58:36 +0300
commitb4ee80b91bfa1bdc427aaf5f5821e2a5590e21f4 (patch)
tree0643c34f8a645f2b61f7102022092ecf4ed1a7b4 /indra/llui
parent377683a8ed85a0f6dcf78ba0d3c78f2fd9fff5d7 (diff)
MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloater.cpp12
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);