diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2011-10-25 09:35:17 -0400 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2011-10-25 09:35:17 -0400 |
commit | 012a0953b56d8313c6c0f71444f115de1aeeb7e1 (patch) | |
tree | 59fece92dfa8895d852e997b884ace46b9e1b3a9 /indra/llui/llfloaterreg.cpp | |
parent | 7c08ddb3f748d2173948335fd799879e3d58d81c (diff) | |
parent | b7a349f231977d5917b29faacca143a85d925576 (diff) |
merge
Diffstat (limited to 'indra/llui/llfloaterreg.cpp')
-rw-r--r-- | indra/llui/llfloaterreg.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 0edfc8da2d..e144b68f5e 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -167,6 +167,7 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) res->setInstanceName(name); LLFloater *last_floater = (list.empty() ? NULL : list.back()); + res->applyControlsAndPosition(last_floater); gFloaterView->adjustToFitScreen(res, false); @@ -462,16 +463,16 @@ void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD& else if (instance->isMinimized()) { instance->setMinimized(FALSE); - instance->setFocus(TRUE); + instance->setVisibleAndFrontmost(); } else if (!instance->isShown()) { instance->openFloater(key); - instance->setFocus(TRUE); + instance->setVisibleAndFrontmost(); } - else if (!instance->hasFocus() && !instance->getIsChrome()) + else if (!instance->isFrontmost()) { - instance->setFocus(TRUE); + instance->setVisibleAndFrontmost(); } else { |