summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2019-10-16 22:24:03 +0100
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2019-10-16 22:24:03 +0100
commitc7747d2a1bba6ac62e9b540a283ae2c9f4bfd221 (patch)
tree8c6b6b564b80a0f2b0ad774f64f9fc9a1c50b7d5 /indra/newview/llviewerobjectlist.cpp
parentcc3cf17e5e335b6e78d86755e015161ab92c50db (diff)
parent33821bd599d1d9171cc93c38a2bc6c4ab6772c9a (diff)
merge
Diffstat (limited to 'indra/newview/llviewerobjectlist.cpp')
-rw-r--r--indra/newview/llviewerobjectlist.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 932759c86d..2bf04dc204 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -1383,7 +1383,11 @@ BOOL LLViewerObjectList::killObject(LLViewerObject *objectp)
if (objectp)
{
- objectp->markDead(); // does the right thing if object already dead
+ // We are going to cleanup a lot of smart pointers to this object, they might be last,
+ // and object being NULLed while inside it's own function won't be pretty
+ // so create a pointer to make sure object will stay alive untill markDead() finishes
+ LLPointer<LLViewerObject> sp(objectp);
+ sp->markDead(); // does the right thing if object already dead
return TRUE;
}