Commit e6a9f965 authored by Rye Mutt's avatar Rye Mutt 🍞
Browse files

Fix crash in LLControlAvatar::matchVolumeTransform() from Kitty Barnett

parent 1206a9dd
......@@ -324,6 +324,20 @@ void LLControlAvatar::markForDeath()
mRootVolp = NULL;
}
void LLControlAvatar::markDead()
{
// NOTE: this can happen when the control avatar and root volume are on different regions and we're
// being called from the LLViewerRegion destructor due the region being dropped
// (due to being used as a vehicle and the move not yet being processed?)
if (mRootVolp)
{
mRootVolp->unlinkControlAvatar();
mRootVolp = nullptr;
}
LLVOAvatar::markDead();
}
void LLControlAvatar::idleUpdate(LLAgent &agent, const F64 &time)
{
if (mMarkedForDeath)
......
......@@ -51,6 +51,7 @@ public:
// Delayed kill so we don't make graphics pipeline unhappy calling
// markDead() inside other graphics pipeline operations.
void markForDeath();
void markDead() override;
void idleUpdate(LLAgent &agent, const F64 &time) override;
BOOL updateCharacter(LLAgent &agent) override;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment