summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2013-04-29 16:59:10 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2013-04-29 16:59:10 -0400
commitae53d22141288ab1b5ba4a5927d11cf84c59d445 (patch)
treef868baa1ea4e0e9acc34614d8fd9036a280322fc
parent48d684c7befae1ca7f7b43f682d7bea03fc4e0c0 (diff)
SH-4140 FIX, SH-3860 FIX - appearance on first-time login should now be reliable without depending on retries of appearance update requests. May still see COF mismatch errors in the log - these will only be fixed, if at all, with AISv3 integration.
-rwxr-xr-xindra/newview/llappearancemgr.cpp13
-rwxr-xr-xindra/newview/llviewerinventory.cpp2
2 files changed, 10 insertions, 5 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 399cea676c..40ec88f1be 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -2890,7 +2890,7 @@ protected:
}
if (content["success"].asBoolean())
{
- LL_DEBUGS("Avatar") << dumpResponse() << LL_ENDL;
+ //LL_DEBUGS("Avatar") << dumpResponse() << LL_ENDL;
if (gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"))
{
dumpContents(gAgentAvatarp->getFullname() + "_appearance_request_ok", content);
@@ -2907,7 +2907,8 @@ protected:
{
const LLSD& content = getContent();
LL_WARNS("Avatar") << "appearance update request failed "
- << dumpResponse() << LL_ENDL;
+ << dumpResponse() << LL_ENDL;
+
if (gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"))
{
dumpContents(gAgentAvatarp->getFullname() + "_appearance_request_error", content);
@@ -3247,6 +3248,13 @@ void show_created_outfit(LLUUID& folder_id, bool show_panel = true)
LLAppearanceMgr::getInstance()->updateIsDirty();
gAgentWearables.notifyLoadingFinished(); // New outfit is saved.
LLAppearanceMgr::getInstance()->updatePanelOutfitName("");
+
+ // For SSB, need to update appearance after we add a base outfit
+ // link, since, the COF version has changed. There is a race
+ // condition in initial outfit setup which can lead to rez
+ // failures - SH-3860.
+ LLPointer<LLInventoryCallback> cb = new LLUpdateAppearanceOnDestroy;
+ LLAppearanceMgr::getInstance()->createBaseOutfitLink(folder_id, cb);
}
LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name, bool show_panel)
@@ -3267,7 +3275,6 @@ LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name, b
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(no_op_inventory_func,
boost::bind(show_created_outfit,folder_id,show_panel));
shallowCopyCategoryContents(getCOF(),folder_id, cb);
- createBaseOutfitLink(folder_id, cb);
dumpCat(folder_id,"COF, new outfit");
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index b39dbd51a1..d45512df9c 100755
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -627,12 +627,10 @@ S32 LLViewerInventoryCategory::getVersion() const
void LLViewerInventoryCategory::setVersion(S32 version)
{
-#if 0
if (mPreferredType == LLFolderType::FT_CURRENT_OUTFIT)
{
llinfos << "cof version change " << mVersion << " => " << version << llendl;
}
-#endif
mVersion = version;
}