summaryrefslogtreecommitdiff
path: root/indra/llprimitive
diff options
context:
space:
mode:
authorcallum_linden <none@none>2013-05-16 12:06:29 -0700
committercallum_linden <none@none>2013-05-16 12:06:29 -0700
commit68c6ad909c4878f5627fa485efaa735c2ea13587 (patch)
tree1abb1dd9a3f22952a9e06d45cb05bee4e004fe46 /indra/llprimitive
parentb3df764bd3c461df49f0f2289b66c87a76e71d34 (diff)
parent666896ac4efa0575c82cd58c9fe041f354ccbbfc (diff)
Merge
Diffstat (limited to 'indra/llprimitive')
-rwxr-xr-xindra/llprimitive/lltextureentry.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp
index ca57f1edbd..597f078490 100755
--- a/indra/llprimitive/lltextureentry.cpp
+++ b/indra/llprimitive/lltextureentry.cpp
@@ -539,21 +539,28 @@ S32 LLTextureEntry::setGlow(F32 glow)
S32 LLTextureEntry::setMaterialID(const LLMaterialID& pMaterialID)
{
- if (mMaterialID != pMaterialID)
+ if ( (mMaterialID != pMaterialID) || (mMaterialUpdatePending && !mSelected) )
{
- mMaterialID = pMaterialID;
-
- }
- if (mMaterialID.isNull())
+ if (mSelected)
{
- setMaterialParams(NULL);
+ mMaterialUpdatePending = true;
+ mMaterialID = pMaterialID;
+ return TEM_CHANGE_NONE;
}
+
+ mMaterialUpdatePending = false;
+ mMaterialID = pMaterialID;
return TEM_CHANGE_TEXTURE;
}
+ return TEM_CHANGE_NONE;
+}
S32 LLTextureEntry::setMaterialParams(const LLMaterialPtr pMaterialParams)
{
-
+ if (mSelected)
+ {
+ mMaterialUpdatePending = true;
+ }
mMaterial = pMaterialParams;
return TEM_CHANGE_TEXTURE;
}