summaryrefslogtreecommitdiff
path: root/indra/llui/llfloater.cpp
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
commit534bffb257044c407b8d3d8384ed0223fa9cb709 (patch)
tree48adfc699affd30826ac22f37234ec66f911c7bd /indra/llui/llfloater.cpp
parent7d77b82f3779ea964079af363f69f31f14e88224 (diff)
MAINT-6511 Crash in LLFloaterView::restoreAll - exception handling
Diffstat (limited to 'indra/llui/llfloater.cpp')
-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..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);