aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorthickbrick2011-07-09 00:38:11 +0300
committerMcCabe Maxsted2011-07-08 14:50:33 -0700
commit505b067191c29e798987722b92d7af2b92515109 (patch)
tree88591bf99c7bbbbb12038101c59fa09394083a27
parentAdded debug settings RenderSculptSAThreshold and RenderSculptSAMax. Adjust th... (diff)
downloadmeta-impy-505b067191c29e798987722b92d7af2b92515109.zip
meta-impy-505b067191c29e798987722b92d7af2b92515109.tar.gz
meta-impy-505b067191c29e798987722b92d7af2b92515109.tar.bz2
meta-impy-505b067191c29e798987722b92d7af2b92515109.tar.xz
Fix #985: Crash after teleport
Stale LLVOVolume pointer was caused by a leftover from porting the sculpt->volumes list from V2, which I forgot to port. Needed for correct volume accounting.
-rw-r--r--linden/indra/newview/llvovolume.cpp14
-rw-r--r--linden/indra/newview/llvovolume.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/linden/indra/newview/llvovolume.cpp b/linden/indra/newview/llvovolume.cpp
index d40ee99..b422c51 100644
--- a/linden/indra/newview/llvovolume.cpp
+++ b/linden/indra/newview/llvovolume.cpp
@@ -108,6 +108,20 @@ LLVOVolume::~LLVOVolume()
108 mVolumeImpl = NULL; 108 mVolumeImpl = NULL;
109} 109}
110 110
111// virtual
112void LLVOVolume::markDead()
113{
114 if (!mDead)
115 {
116 if (mSculptTexture.notNull())
117 {
118 mSculptTexture->removeVolume(this);
119 }
120 }
121
122 LLViewerObject::markDead();
123}
124
111 125
112// static 126// static
113void LLVOVolume::initClass() 127void LLVOVolume::initClass()
diff --git a/linden/indra/newview/llvovolume.h b/linden/indra/newview/llvovolume.h
index 25f5d95..2f53bea 100644
--- a/linden/indra/newview/llvovolume.h
+++ b/linden/indra/newview/llvovolume.h
@@ -91,6 +91,7 @@ public:
91 91
92public: 92public:
93 LLVOVolume(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); 93 LLVOVolume(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp);
94 /*virtual*/ void markDead(); // Override (and call through to parent) to clean up sculpt texture references
94 95
95 /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); 96 /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline);
96 97