In theory this fix should help alleviate some of the issues with crashes. I'm not positive. It basically sounds like the problem is the client tag info trying to get the texture of a half-loaded avatar and exploding. LL put in an option to basically pretty much ignore that the file wasn't loaded yet and just plow through blindly.

Signed-off-by: Beeks <HgDelirium@gmail.com>
This commit is contained in:
Beeks
2010-08-28 16:15:37 -04:00
parent 9d1073ac40
commit 998d985130
2 changed files with 7 additions and 9 deletions

View File

@@ -3349,6 +3349,8 @@ bool LLVOAvatar::loadClientTags()
void LLVOAvatar::getClientInfo(std::string& client, LLColor4& color, BOOL useComment)
{
if (!getTE(TEX_HEAD_BODYPAINT))
return;
std::string uuid_str = getTE(TEX_HEAD_BODYPAINT)->getID().asString(); //UUID of the head texture
if (mIsSelf)
{
@@ -3427,8 +3429,7 @@ void LLVOAvatar::getClientInfo(std::string& client, LLColor4& color, BOOL useCom
color = LLColor4(0.5f, 0.0f, 0.0f);
client = "Unknown";
}
else if(LLVOAvatar::sClientResolutionList.has("isComplete") && LLVOAvatar::sClientResolutionList.has(uuid_str))
{
else if (LLVOAvatar::sClientResolutionList.has("isComplete") && LLVOAvatar::sClientResolutionList.has(uuid_str)) {
LLSD cllsd = LLVOAvatar::sClientResolutionList[uuid_str];
client = cllsd["name"].asString();
LLColor4 colour;
@@ -7897,16 +7898,13 @@ BOOL LLVOAvatar::updateIsFullyLoaded()
BOOL LLVOAvatar::isFullyLoaded()
{
/* WHY WOULD YOU DO THIS -HgB
if (gSavedSettings.getBOOL("RenderUnloadedAvatar"))
return TRUE;
else
return mFullyLoaded;
else*/
return mFullyLoaded;
}

View File

@@ -384,7 +384,7 @@ public:
//--------------------------------------------------------------------
public:
BOOL isFullyLoaded();
//BOOL isReallyFullyLoaded();
BOOL updateIsFullyLoaded();
private:
BOOL mFullyLoaded;