summaryrefslogtreecommitdiff
path: root/indra/llui/llfloater.cpp
diff options
context:
space:
mode:
authorrichard <none@none>2009-12-14 14:54:37 -0800
committerrichard <none@none>2009-12-14 14:54:37 -0800
commit0d9bae83edc9b41ebfeffd947f9b149e3312fded (patch)
tree80960125fc0c0fccede8ab78215506758269e53e /indra/llui/llfloater.cpp
parent4a2d57ad489344d77c2bc5213dad2c40c161a34e (diff)
parent861640adf90809131210175368850d0ccc1d669e (diff)
merge
Diffstat (limited to 'indra/llui/llfloater.cpp')
-rw-r--r--indra/llui/llfloater.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index fd7b64af02..5fd707fea3 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1649,6 +1649,7 @@ void LLFloater::draw()
}
else
{
+ //FIXME: get rid of this hack
// draw children
LLView* focused_child = dynamic_cast<LLView*>(gFocusMgr.getKeyboardFocus());
BOOL focused_child_visible = FALSE;
@@ -2703,6 +2704,18 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
output_node, output_params, &default_params);
}
+ // Default floater position to top-left corner of screen
+ // However, some legacy floaters have explicit top or bottom
+ // coordinates set, so respect their wishes.
+ if (!params.rect.top.isProvided() && !params.rect.bottom.isProvided())
+ {
+ params.rect.top.set(0);
+ }
+ if (!params.rect.left.isProvided() && !params.rect.right.isProvided())
+ {
+ params.rect.left.set(0);
+ }
+
setupParams(params, parent);
initFromParams(params);