diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2011-10-27 14:52:17 -0400 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2011-10-27 14:52:17 -0400 |
commit | 1e70d53b198e15a85138a8f0ebdf6f77f070f916 (patch) | |
tree | 49d58bf6cd6584834b6e91688ad8bfb34bd38cff /indra/llui/llfloaterreg.cpp | |
parent | 0c84957d312bc3dc31fdb5711317157df73b72e6 (diff) | |
parent | 1b173ed82b65c7bb5f5d5294847a721b64f8cf35 (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 { |