summaryrefslogtreecommitdiff
path: root/indra/llui/llfloater.cpp
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2009-09-10 03:08:54 +0000
committerSteven Bennetts <steve@lindenlab.com>2009-09-10 03:08:54 +0000
commit44f294d484185ef3cb9f51e5cba6a3ee269b96dc (patch)
tree10405a76d776f22e2800abae93b04fd2aec6dddb /indra/llui/llfloater.cpp
parentbbf497469c4d71d5308421f1ef06d0a2098772c8 (diff)
merge https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1602 https://svn.aws.productengine.com/secondlife/pe/stable-2@1608 -> viewer-2.0.0-3
* Bugs: EXT-848 EXT-865 * New Dev: EXT-790 EXT-822
Diffstat (limited to 'indra/llui/llfloater.cpp')
-rw-r--r--indra/llui/llfloater.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index c027b59c71..228e23b67e 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1491,7 +1491,8 @@ LLFloater* LLFloater::getClosableFloaterFromFocus()
// The focused floater may not be closable,
// Find and close a parental floater that is closeable, if any.
- for(LLFloater* floater_to_close = focused_floater;
+ LLFloater* prev_floater = NULL;
+ for(LLFloater* floater_to_close = focused_floater;
NULL != floater_to_close;
floater_to_close = gFloaterView->getParentFloater(floater_to_close))
{
@@ -1499,6 +1500,14 @@ LLFloater* LLFloater::getClosableFloaterFromFocus()
{
return floater_to_close;
}
+
+ // If floater has as parent root view
+ // gFloaterView->getParentFloater(floater_to_close) returns
+ // the same floater_to_close, so we need to check this.
+ if (prev_floater == floater_to_close) {
+ break;
+ }
+ prev_floater = floater_to_close;
}
return NULL;