summaryrefslogtreecommitdiff
path: root/indra/newview/lldriverparam.cpp
diff options
context:
space:
mode:
authorDon Kjer <don@lindenlab.com>2012-09-03 06:12:50 +0000
committerDon Kjer <don@lindenlab.com>2012-09-03 06:12:50 +0000
commitc355fb98d3f4040196b7b8586dc9328fccb906d2 (patch)
treebe4ca12c6bf33070ab4d7b591056cadb2fec227c /indra/newview/lldriverparam.cpp
parent51fabc385079a0b5fab4611bb5b16fea5dc26372 (diff)
Extracted texture baking system into llappearance library.
Diffstat (limited to 'indra/newview/lldriverparam.cpp')
-rw-r--r--indra/newview/lldriverparam.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/lldriverparam.cpp b/indra/newview/lldriverparam.cpp
index 885cae1737..0ae9acd1af 100644
--- a/indra/newview/lldriverparam.cpp
+++ b/indra/newview/lldriverparam.cpp
@@ -32,7 +32,7 @@
#include "llvoavatar.h"
#include "llvoavatarself.h"
#include "llagent.h"
-#include "llwearable.h"
+#include "llviewerwearable.h"
#include "llagentwearables.h"
//-----------------------------------------------------------------------------
@@ -623,10 +623,19 @@ F32 LLDriverParam::getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight
void LLDriverParam::setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool upload_bake)
{
+ bool use_self = false;
if(isAgentAvatarValid() &&
- mWearablep &&
- driven->mParam->getCrossWearable() &&
- mWearablep->isOnTop())
+ mWearablep &&
+ driven->mParam->getCrossWearable())
+ {
+ LLViewerWearable* wearable = dynamic_cast<LLViewerWearable*> (mWearablep);
+ if (!wearable->isOnTop())
+ {
+ use_self = false;
+ }
+ }
+
+ if (use_self)
{
// call setWeight through LLVOAvatarSelf so other wearables can be updated with the correct values
gAgentAvatarp->setVisualParamWeight( (LLVisualParam*)driven->mParam, driven_weight, upload_bake );