#4619 Don't crash on LLHUDEffect::render

LLHUDEffectResetSkeleton needs to override LLHUDEffect::render to not
cause an LL_ERRS if it stays alive for too long.
master
Andrey Kleshchev 2025-09-01 22:37:46 +03:00 committed by Andrey Kleshchev
parent 5d50a660bc
commit 9959f51741
2 changed files with 16 additions and 6 deletions

View File

@ -53,6 +53,15 @@ LLHUDEffectResetSkeleton::~LLHUDEffectResetSkeleton()
{
}
//-----------------------------------------------------------------------------
// packData()
//-----------------------------------------------------------------------------
void LLHUDEffectResetSkeleton::render()
{
// HUDEffectResetSkeleton is a fake effect meant to reset skeleton only.
// Just wait for an update() call to do its work and then die.
}
//-----------------------------------------------------------------------------
// packData()
//-----------------------------------------------------------------------------

View File

@ -38,20 +38,21 @@ class LLHUDEffectResetSkeleton final : public LLHUDEffect
public:
friend class LLHUDObject;
/*virtual*/ void markDead();
/*virtual*/ void setSourceObject(LLViewerObject* objectp);
/*virtual*/ void markDead() override;
/*virtual*/ void setSourceObject(LLViewerObject* objectp) override;
void setTargetObject(LLViewerObject *objp);
void setTargetObject(LLViewerObject *objp) override;
void setResetAnimations(bool enable){ mResetAnimations = enable; };
protected:
LLHUDEffectResetSkeleton(const U8 type);
~LLHUDEffectResetSkeleton();
/*virtual*/ void packData(LLMessageSystem *mesgsys);
/*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum);
void render() override;
void packData(LLMessageSystem *mesgsys) override;
void unpackData(LLMessageSystem *mesgsys, S32 blocknum) override;
void update();
void update() override;
private:
bool mResetAnimations;
};