Automated merge

master
Don Kjer 2012-10-04 03:13:14 +00:00
commit 6d613b61d7
4 changed files with 17 additions and 0 deletions

5
indra/llappearance/llwearabledata.cpp Normal file → Executable file
View File

@ -119,6 +119,11 @@ U32 LLWearableData::pushWearable(const LLWearableType::EType type,
void LLWearableData::wearableUpdated(LLWearable *wearable, BOOL removed)
{
wearable->setUpdated();
// FIXME DRANO avoid updating params via wearables when rendering server-baked appearance.
if (mAvatarAppearance->isUsingServerBakes() && !mAvatarAppearance->isUsingLocalAppearance())
{
return;
}
if (!removed)
{
pullCrossWearableValues(wearable->getType());

View File

@ -250,6 +250,7 @@ void LLVisualParam::setAnimationTarget(F32 target_value, BOOL upload_bake)
if (mIsDummy)
{
setWeight(target_value, upload_bake);
mTargetWeight = mCurWeight;
return;
}

View File

@ -476,6 +476,10 @@ void LLViewerWearable::setItemID(const LLUUID& item_id)
void LLViewerWearable::revertValues()
{
if (isAgentAvatarValid() && gAgentAvatarp->isUsingServerBakes() && !gAgentAvatarp->isUsingLocalAppearance())
{
return;
}
LLWearable::revertValues();

View File

@ -668,6 +668,13 @@ BOOL LLVOAvatarSelf::setParamWeight(const LLViewerVisualParam *param, F32 weight
return FALSE;
}
// FIXME DRANO - kludgy way to avoid overwriting avatar state from wearables.
if (isUsingServerBakes() && !isUsingLocalAppearance())
{
return FALSE;
}
if (param->getCrossWearable())
{
LLWearableType::EType type = (LLWearableType::EType)param->getWearableType();