summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorLeslie Linden <leslie@lindenlab.com>2011-11-17 09:53:10 -0800
committerLeslie Linden <leslie@lindenlab.com>2011-11-17 09:53:10 -0800
commitec6893db5099b1e95802254277de0cc2e9bea83c (patch)
treecbac080d2e118e3c5f24679fd55d052e1bed4178 /indra/llui
parent52bc69c0bee59631d63680ed19a89d3a116d954b (diff)
parent13a7fbc7a0cf460b4f57028b2e46c33426aa3a01 (diff)
Latest from viewer-experience
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloater.cpp14
-rw-r--r--indra/llui/llfloater.h1
2 files changed, 13 insertions, 2 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index c5d7d1db56..a5fd3ea552 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1951,6 +1951,12 @@ void LLFloater::setCanDrag(BOOL can_drag)
}
}
+bool LLFloater::getCanDrag()
+{
+ return mDragHandle->getEnabled();
+}
+
+
void LLFloater::updateTitleButtons()
{
static LLUICachedControl<S32> floater_close_box_size ("UIFloaterCloseBoxSize", 0);
@@ -2181,7 +2187,7 @@ void LLFloaterView::reshape(S32 width, S32 height, BOOL called_from_parent)
LLFloater* floaterp = (LLFloater*)viewp;
if (floaterp->isDependent())
{
- // dependents use same follow flags as their "dependee"
+ // dependents are moved with their "dependee"
continue;
}
@@ -2209,7 +2215,11 @@ void LLFloaterView::reshape(S32 width, S32 height, BOOL called_from_parent)
translate_y = new_top - old_top;
}
- floaterp->translate(translate_x, translate_y);
+ // don't reposition immovable floaters
+ if (floaterp->getCanDrag())
+ {
+ floaterp->translate(translate_x, translate_y);
+ }
BOOST_FOREACH(LLHandle<LLFloater> dependent_floater, floaterp->mDependents)
{
if (dependent_floater.get())
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 4e8c539144..8886ae3393 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -234,6 +234,7 @@ public:
void setCanTearOff(BOOL can_tear_off);
virtual void setCanResize(BOOL can_resize);
void setCanDrag(BOOL can_drag);
+ bool getCanDrag();
void setHost(LLMultiFloater* host);
BOOL isResizable() const { return mResizable; }
void setResizeLimits( S32 min_width, S32 min_height );