From ac6797c71ad2f75f9f34b3d6b8da4948825e6d57 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Wed, 25 Sep 2013 13:01:55 -0400
Subject: [PATCH] SH-3455 WIP - moved setAvatarObject() to run after the self
 av constructor. Disabled sendAgentWearablesUpdate.

---
 indra/newview/llagentwearables.cpp | 9 +++++++--
 indra/newview/llviewerobject.cpp   | 2 ++
 indra/newview/llvoavatarself.cpp   | 2 --
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 77fd66e4bac..5a059008c46 100755
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -182,9 +182,11 @@ void LLAgentWearables::initClass()
 void LLAgentWearables::setAvatarObject(LLVOAvatarSelf *avatar)
 {
 	llassert(avatar);
-	avatar->outputRezTiming("Sending wearables request");
-	sendAgentWearablesRequest();
 	setAvatarAppearance(avatar);
+	gAgentWearables.notifyLoadingStarted();
+	callAfterCategoryFetch(LLAppearanceMgr::instance().getCOF(),
+						   boost::bind(&LLAppearanceMgr::updateAppearanceFromCOF,
+									   LLAppearanceMgr::getInstance(), true, true, no_op));
 }
 
 // wearables
@@ -302,6 +304,8 @@ void LLAgentWearables::addWearabletoAgentInventoryDone(const LLWearableType::ETy
 // SUNSHINE CLEANUP dead?
 void LLAgentWearables::sendAgentWearablesUpdate()
 {
+	return; // try as NO_OP // SUNSHINE CLEANUP
+#if 0
 	// First make sure that we have inventory items for each wearable
 	for (S32 type=0; type < LLWearableType::WT_COUNT; ++type)
 	{
@@ -372,6 +376,7 @@ void LLAgentWearables::sendAgentWearablesUpdate()
 		lldebugs << "       " << LLWearableType::getTypeLabel((LLWearableType::EType)type) << ": " << (wearable ? wearable->getAssetID() : LLUUID::null) << llendl;
 	}
 	gAgent.sendReliableMessage();
+#endif
 }
 
 void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32 index, BOOL send_update,
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 91efed1508b..dc8acc91a93 100755
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -57,6 +57,7 @@
 #include "llaudiosourcevo.h"
 #include "llagent.h"
 #include "llagentcamera.h"
+#include "llagentwearables.h"
 #include "llbbox.h"
 #include "llbox.h"
 #include "llcylinder.h"
@@ -140,6 +141,7 @@ LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pco
 			{
 				gAgentAvatarp = new LLVOAvatarSelf(id, pcode, regionp);
 				gAgentAvatarp->initInstance();
+				gAgentWearables.setAvatarObject(gAgentAvatarp);
 			}
 			else 
 			{
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 97429329a89..498f8c82773 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -161,8 +161,6 @@ LLVOAvatarSelf::LLVOAvatarSelf(const LLUUID& id,
 	mRegionCrossingCount(0),
 	mInitialBakesLoaded(false)
 {
-	gAgentWearables.setAvatarObject(this);
-
 	mMotionController.mIsSelf = TRUE;
 
 	lldebugs << "Marking avatar as self " << id << llendl;
-- 
GitLab