summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicky <none@none>2012-10-22 21:39:48 +0200
committerNicky <none@none>2012-10-22 21:39:48 +0200
commit07410567c087a877ac8af25cd85c0100123d4a63 (patch)
tree5580dc36306e52e61dcb18d08d2de82a396dd2bb
parenta5e2ef6042c9c3fe69acd9daafebc7694151a21f (diff)
LLDrawable::destroy: Illegal deletion of LLDrawable!
-rw-r--r--indra/newview/pipeline.cpp2
-rw-r--r--indra/newview/pipeline.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 678898797f..91dd441319 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -2011,6 +2011,7 @@ void LLPipeline::grabReferences(LLCullResult& result)
void LLPipeline::clearReferences()
{
sCull = NULL;
+ mGroupSaveQ1.clear();
}
void check_references(LLSpatialGroup* group, LLDrawable* drawable)
@@ -2619,6 +2620,7 @@ void LLPipeline::rebuildPriorityGroups()
group->clearState(LLSpatialGroup::IN_BUILD_Q1);
}
+ mGroupSaveQ1 = mGroupQ1;
mGroupQ1.clear();
mGroupQ1Locked = false;
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index fd2a1e06cd..7a0ca86231 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -668,6 +668,8 @@ protected:
LLSpatialGroup::sg_vector_t mGroupQ1; //priority
LLSpatialGroup::sg_vector_t mGroupQ2; // non-priority
+ LLSpatialGroup::sg_vector_t mGroupSaveQ1; // a place to save mGroupQ1 until it is safe to unref
+
LLSpatialGroup::sg_vector_t mMeshDirtyGroup; //groups that need rebuildMesh called
U32 mMeshDirtyQueryObject;