diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-01-09 10:05:07 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-01-09 10:05:07 -0800 |
commit | 9ff4265baff19984096533f9dbd51ec255d9960c (patch) | |
tree | 1cce734a7f7ac04a0aaa248adc7aa9fcfb6bc687 /indra/llui/llview.cpp | |
parent | 7236b1f4f8b3c14fe18af3d0bd5ee131ea7103dc (diff) | |
parent | 3dfb1536fa3bb85f6648a76591e80c3feea9eb83 (diff) |
Pull and merge from https://bitbucket.org/lindenlab/viewer-development.
Diffstat (limited to 'indra/llui/llview.cpp')
-rw-r--r-- | indra/llui/llview.cpp | 7 |
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() |