summaryrefslogtreecommitdiff
path: root/indra/newview/llface.h
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-09-22 22:51:33 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-09-22 22:51:33 +0300
commit730af5d4888653ce2ccb4bae6dd3919619d58a30 (patch)
treeb9b5f7f7b9bfdca690c317dc8c90a23f0a2dd1bf /indra/newview/llface.h
parentbdedfb3755d54a6b4468a5251c9ddeae2b092d37 (diff)
parent60ed688026269568a9eef67437dc780f88c92871 (diff)
Merged master (DRTVWR-503) into DRTVWR-482
Diffstat (limited to 'indra/newview/llface.h')
-rw-r--r--indra/newview/llface.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/llface.h b/indra/newview/llface.h
index c74d4e3fa8..3611539ff8 100644
--- a/indra/newview/llface.h
+++ b/indra/newview/llface.h
@@ -52,6 +52,7 @@ class LLDrawInfo;
const F32 MIN_ALPHA_SIZE = 1024.f;
const F32 MIN_TEX_ANIM_SIZE = 512.f;
+const U8 FACE_DO_NOT_BATCH_TEXTURES = 255;
class LLFace : public LLTrace::MemTrackableNonVirtual<LLFace, 16>
{
@@ -279,8 +280,13 @@ private:
LLXformMatrix* mXform;
LLPointer<LLViewerTexture> mTexture[LLRender::NUM_TEXTURE_CHANNELS];
-
- LLPointer<LLDrawable> mDrawablep;
+
+ // mDrawablep is not supposed to be null, don't use LLPointer because
+ // mDrawablep owns LLFace and LLPointer is a good way to either cause a
+ // memory leak or a 'delete each other' situation if something deletes
+ // drawable wrongly.
+ LLDrawable* mDrawablep;
+ // LLViewerObject technically owns drawable, but also it should be strictly managed
LLPointer<LLViewerObject> mVObjp;
S32 mTEOffset;