summaryrefslogtreecommitdiff
path: root/indra/llui/llview.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2012-01-08 10:48:26 -0500
committerOz Linden <oz@lindenlab.com>2012-01-08 10:48:26 -0500
commit3763386987bd7ab42438a1f1bdf3a78283bcbf51 (patch)
treeb45814d100958d0adb07100440888c56200a5a9a /indra/llui/llview.cpp
parent66555b844dfcdb1bbbab472967a90060c5d0838f (diff)
parent757a955bd700eb4f838762dcbe789a77ee052064 (diff)
merge changes for vmrg-213
Diffstat (limited to 'indra/llui/llview.cpp')
-rw-r--r--indra/llui/llview.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 486babb0ab..542f57ee5f 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -121,6 +121,7 @@ LLView::Params::Params()
LLView::LLView(const LLView::Params& p)
: mVisible(p.visible),
+ mInDraw(false),
mName(p.name),
mParentView(NULL),
mReshapeFlags(FOLLOWS_NONE),
@@ -281,6 +282,9 @@ void LLView::moveChildToBackOfTabGroup(LLUICtrl* child)
// virtual
bool LLView::addChild(LLView* child, S32 tab_group)
{
+ // NOTE: Changed this to not crash in release mode
+ llassert(mInDraw == false);
+
if (!child)
{
return false;
@@ -330,6 +334,7 @@ bool LLView::addChildInBack(LLView* child, S32 tab_group)
// remove the specified child from the view, and set it's parent to NULL.
void LLView::removeChild(LLView* child)
{
+ llassert_always(mInDraw == false);
//llassert_always(sDepth == 0); // Avoid re-ordering while drawing; it can cause subtle iterator bugs
if (child->mParentView == this)
{
@@ -1081,6 +1086,7 @@ void LLView::draw()
void LLView::drawChildren()
{
+ mInDraw = true;
if (!mChildList.empty())
{
LLView* rootp = LLUI::getRootView();
@@ -1119,6 +1125,7 @@ void LLView::drawChildren()
}
--sDepth;
}
+ mInDraw = false;
}
void LLView::dirtyRect()