MAINT-5693: Do not rerequest old bakes. If a stale bake is received for processing do not processes it (Only allow newer appearances to process... never older)

meow-7.2.2
Rider Linden 2016-03-01 12:13:18 -08:00
parent 9fbcaa5b9a
commit 217f10f122
2 changed files with 14 additions and 3 deletions

View File

@ -3422,12 +3422,14 @@ void LLAppearanceMgr::serverAppearanceUpdateCoro()
if (cofVersion < lastRcv)
{
LL_WARNS("Avatar") << "Have already received update for cof version " << lastRcv
<< " but re-requesting for " << cofVersion << LL_ENDL;
<< " ignoring request for " << cofVersion << LL_ENDL;
return;
}
if (lastReq >= cofVersion)
if (lastReq > cofVersion)
{
LL_WARNS("Avatar") << "Request already in flight for cof version " << lastReq
<< " re-requesting for " << cofVersion << LL_ENDL;
<< " ignoring request for " << cofVersion << LL_ENDL;
return;
}
}

View File

@ -7356,6 +7356,7 @@ bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32
//-----------------------------------------------------------------------------
void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
{
static S32 largestCOFSeen(LLViewerInventoryCategory::VERSION_UNKNOWN);
LL_DEBUGS("Avatar") << "starts" << LL_ENDL;
bool enable_verbose_dumps = gSavedSettings.getBOOL("DebugAvatarAppearanceMessage");
@ -7393,6 +7394,14 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
S32 this_update_cof_version = contents.mCOFVersion;
S32 last_update_request_cof_version = mLastUpdateRequestCOFVersion;
if (largestCOFSeen > this_update_cof_version)
{
LL_WARNS("Avatar") << "Already processed appearance for COF version " <<
largestCOFSeen << ", discarding appearance with COF " << this_update_cof_version << LL_ENDL;
return;
}
largestCOFSeen = this_update_cof_version;
if( isSelf() )
{
LL_DEBUGS("Avatar") << "this_update_cof_version " << this_update_cof_version