summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
authorNyx (Neal Orman) <nyx@lindenlab.com>2010-08-18 10:46:40 -0400
committerNyx (Neal Orman) <nyx@lindenlab.com>2010-08-18 10:46:40 -0400
commitfe37d350b42eca254ec4e661dfc4b46e828ad955 (patch)
tree2e811d01ecb2faab04241a54ae2e2f8c5219870e /indra/newview/llvoavatar.cpp
parent03128112b8047cbba0aa51247534748d983ad4e7 (diff)
EXT-8542 FIX (?) Avatar goes nude on teleport / outfit change
Believed fix, but having difficulty reproducing to verify. changed logic in switching avatar textures so that we don't use the local baked texture until we have at least the lowest LOD for each clothing texture. Will ask Dan to help verify the fix. Code reviewed by Seraph
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rw-r--r--indra/newview/llvoavatar.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 4e00355bbe..c688338000 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -6251,10 +6251,14 @@ void LLVOAvatar::updateMeshTextures()
// When an avatar is changing clothes and not in Appearance mode,
// use the last-known good baked texture until it finish the first
// render of the new layerset.
+
+ const BOOL layerset_invalid = !mBakedTextureDatas[i].mTexLayerSet
+ || !mBakedTextureDatas[i].mTexLayerSet->getComposite()->isInitialized()
+ || !mBakedTextureDatas[i].mTexLayerSet->isLocalTextureDataAvailable();
+
use_lkg_baked_layer[i] = (!is_layer_baked[i]
&& (mBakedTextureDatas[i].mLastTextureIndex != IMG_DEFAULT_AVATAR)
- && mBakedTextureDatas[i].mTexLayerSet
- && !mBakedTextureDatas[i].mTexLayerSet->getComposite()->isInitialized());
+ && layerset_invalid);
if (use_lkg_baked_layer[i])
{
mBakedTextureDatas[i].mTexLayerSet->setUpdatesEnabled(TRUE);