summaryrefslogtreecommitdiff
path: root/indra/newview/llface.h
diff options
context:
space:
mode:
authorCallum Prentice <callum@gmail.com>2020-09-22 13:07:39 -0700
committerCallum Prentice <callum@gmail.com>2020-09-22 13:07:39 -0700
commit38faec3b11d27c2f88b89283fe1a3a60d6ec4e42 (patch)
treecc2c7f22a38a2efba72eeb01124c3f873c3a1f83 /indra/newview/llface.h
parent14b5d490c37d234db7a52295502b130723186f3c (diff)
parent60ed688026269568a9eef67437dc780f88c92871 (diff)
Merge branch 'master' into DRTVWR-519
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;