From e9a9f71e563f236eabf5dca980913bcbb6f36a94 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Mon, 15 Jul 2019 17:56:30 +0300 Subject: SL-10908 Safeguards and potential crash fix --- indra/newview/llviewerobjectlist.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview/llviewerobjectlist.cpp') 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 sp(objectp); + sp->markDead(); // does the right thing if object already dead return TRUE; } -- cgit v1.2.3 From 6ec37fac60c0288e576b72b91b16d74b37dbc32d Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Tue, 29 Oct 2019 22:37:02 +0200 Subject: SL-12196 Crash at updateMeshTextures --- indra/newview/llviewerobjectlist.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llviewerobjectlist.cpp') diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 2bf04dc204..63e48d1dd0 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -1921,7 +1921,7 @@ void LLViewerObjectList::generatePickList(LLCamera &camera) attachment_iter != attachment->mAttachedObjects.end(); ++attachment_iter) { - if (LLViewerObject* attached_object = (*attachment_iter)) + if (LLViewerObject* attached_object = attachment_iter->get()) { mSelectPickList.insert(attached_object); LLViewerObject::const_child_list_t& child_list = attached_object->getChildren(); -- cgit v1.2.3