diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llviewerobject.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index 88ac978..5a7ef9d 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp | |||
@@ -228,6 +228,12 @@ LLViewerObject::~LLViewerObject() | |||
228 | mJointInfo = NULL; | 228 | mJointInfo = NULL; |
229 | } | 229 | } |
230 | 230 | ||
231 | if (mPartSourcep) | ||
232 | { | ||
233 | mPartSourcep->setDead(); | ||
234 | mPartSourcep = NULL; | ||
235 | } | ||
236 | |||
231 | // Delete memory associated with extra parameters. | 237 | // Delete memory associated with extra parameters. |
232 | std::map<U16, ExtraParameter*>::iterator iter; | 238 | std::map<U16, ExtraParameter*>::iterator iter; |
233 | for (iter = mExtraParameterList.begin(); iter != mExtraParameterList.end(); ++iter) | 239 | for (iter = mExtraParameterList.begin(); iter != mExtraParameterList.end(); ++iter) |
@@ -4014,7 +4020,7 @@ void LLViewerObject::unpackParticleSource(const S32 block_num, const LLUUID& own | |||
4014 | } | 4020 | } |
4015 | else | 4021 | else |
4016 | { | 4022 | { |
4017 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, block_num); | 4023 | LLPointer<LLViewerPartSourceScript> pss = LLViewerPartSourceScript::unpackPSS(this, NULL, block_num); |
4018 | //If the owner is muted, don't create the system | 4024 | //If the owner is muted, don't create the system |
4019 | if(gMuteListp->isMuted(owner_id)) return; | 4025 | if(gMuteListp->isMuted(owner_id)) return; |
4020 | 4026 | ||
@@ -4063,7 +4069,7 @@ void LLViewerObject::unpackParticleSource(LLDataPacker &dp, const LLUUID& owner_ | |||
4063 | } | 4069 | } |
4064 | else | 4070 | else |
4065 | { | 4071 | { |
4066 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, dp); | 4072 | LLPointer<LLViewerPartSourceScript> pss = LLViewerPartSourceScript::unpackPSS(this, NULL, dp); |
4067 | //If the owner is muted, don't create the system | 4073 | //If the owner is muted, don't create the system |
4068 | if(gMuteListp->isMuted(owner_id)) return; | 4074 | if(gMuteListp->isMuted(owner_id)) return; |
4069 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! | 4075 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! |