summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-04-04 21:49:23 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-04-07 21:13:48 +0300
commit40acaafd9c5b224a6e684db3b09f3360e92ed34e (patch)
tree380ba4f6a1919153853516b86eeadccf177682c3 /indra
parent3d7de1b39ba23a308900a677b3a368184f5f59a0 (diff)
#3878 Crash at LLPipeline::unlinkDrawable
assertInitializedDoError() on shutdown
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/lldrawable.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 4921964b35..9d212cfe8b 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -253,7 +253,15 @@ void LLDrawable::cleanupReferences()
std::for_each(mFaces.begin(), mFaces.end(), DeletePointer());
mFaces.clear();
- gPipeline.unlinkDrawable(this);
+ if (gPipeline.mInitialized)
+ {
+ gPipeline.unlinkDrawable(this);
+ }
+ else if (getSpatialGroup())
+ {
+ // Not supposed to happen?
+ getSpatialGroup()->getSpatialPartition()->remove(this, getSpatialGroup());
+ }
removeFromOctree();