summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2012-07-13 16:59:57 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2012-07-13 16:59:57 -0400
commit409be9dcc4e372385f0fb0de274a4b17913bd124 (patch)
treeaa557fa29ccd7aa173c086fcbed1d6bd8bce8238 /indra/newview/llvoavatar.cpp
parent27c7b259b417d5843422e8bd4e8e480a186e44f4 (diff)
SH-3267 WIP - extract cof version from avatar appearance message, use to reject stale updates
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rwxr-xr-xindra/newview/llvoavatar.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index f85b59b8c6..e686948fa2 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7310,7 +7310,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
// llinfos << "LLVOAvatar::processAvatarAppearance()" << llendl;
// dumpAvatarTEs( "PRE processAvatarAppearance()" );
LLTEContents tec;
- parseTEMessage(mesgsys, _PREHASH_ObjectData, -1, FALSE, tec);
+ parseTEMessage(mesgsys, _PREHASH_ObjectData, -1, tec);
// dumpAvatarTEs( "POST processAvatarAppearance()" );
// Check for stale update.
@@ -7321,14 +7321,16 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
S32 last_update_request_cof_version = LLAppearanceMgr::instance().mLastUpdateRequestCOFVersion;
S32 *s_words = (S32*) texture_id.mData;
S32 this_update_cof_version = s_words[0];
- if (this_update_cof_version < last_update_request_cof_version)
+ if ((this_update_cof_version > 0) &&
+ (this_update_cof_version < last_update_request_cof_version))
{
llwarns << "Stale appearance update, wanted version " << last_update_request_cof_version
<< ", got " << this_update_cof_version << llendl;
return;
}
+ ((LLUUID*)tec.image_data)[0].setNull();
}
- unpackParsedTEMessage(tec);
+ applyParsedTEMessage(tec);
// prevent the overwriting of valid baked textures with invalid baked textures
for (U8 baked_index = 0; baked_index < mBakedTextureDatas.size(); baked_index++)