#2229 BugSplat Crash #1502471: SecondLifeViewer!LLPolySkeletalDistortion::apply(196)

master
Alexander Gavriliuk 2024-08-08 22:13:57 +02:00 committed by Guru
parent f782f5f534
commit a6131b5652
3 changed files with 23 additions and 20 deletions

View File

@ -245,6 +245,24 @@ public:
S32 getVisualParamCount() const { return (S32)mVisualParamIndexMap.size(); }
LLVisualParam* getVisualParam(const char *name);
void animateTweakableVisualParams(F32 delta)
{
for (auto& it : mVisualParamIndexMap)
{
if (it.second->isTweakable())
{
it.second->animate(delta);
}
}
}
void applyAllVisualParams(ESex avatar_sex)
{
for (auto& it : mVisualParamIndexMap)
{
it.second->apply(avatar_sex);
}
}
ESex getSex() const { return mSex; }
void setSex( ESex sex ) { mSex = sex; }

View File

@ -3081,30 +3081,15 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
}
else
{
F32 morph_amt = calcMorphAmount();
LLVisualParam *param;
if (!isSelf())
{
F32 morph_amt = calcMorphAmount();
// animate only top level params for non-self avatars
for (param = getFirstVisualParam();
param;
param = getNextVisualParam())
{
if (param->isTweakable())
{
param->animate(morph_amt);
}
}
animateTweakableVisualParams(morph_amt);
}
// apply all params
for (param = getFirstVisualParam();
param;
param = getNextVisualParam())
{
param->apply(avatar_sex);
}
applyAllVisualParams(avatar_sex);
mLastAppearanceBlendTime = appearance_anim_time;
}
@ -3112,7 +3097,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
}
}
F32 LLVOAvatar::calcMorphAmount()
F32 LLVOAvatar::calcMorphAmount() const
{
F32 appearance_anim_time = mAppearanceMorphTimer.getElapsedTimeF32();
F32 blend_frac = calc_bouncy_animation(appearance_anim_time / APPEARANCE_MORPH_TIME);

View File

@ -422,7 +422,7 @@ protected:
bool updateIsFullyLoaded();
bool processFullyLoadedChange(bool loading);
void updateRuthTimer(bool loading);
F32 calcMorphAmount();
F32 calcMorphAmount() const;
private:
bool mFirstFullyVisible;