From 55e686b0e305fa14ae5e40f7917f0ce3f3e3c6a1 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Fri, 10 May 2013 07:52:22 -0400
Subject: SH-4176 WIP - tweaks to debugCOF(), which shows differences between
 viewer and server side views of the COF when a mismatch occurs

---
 indra/newview/llappearancemgr.cpp | 49 ++++++++++++++++++++++++---------------
 1 file changed, 30 insertions(+), 19 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 543eb04c0b..e8bdb0d7ec 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -2947,7 +2947,8 @@ protected:
 
 	void debugCOF(const LLSD& content)
 	{
-		LL_INFOS("Avatar") << "AIS COF, version found: " << content["expected"].asInteger() << llendl;
+		LL_INFOS("Avatar") << "AIS COF, version received: " << content["expected"].asInteger()
+						   << " ================================= " << llendl;
 		std::set<LLUUID> ais_items, local_items;
 		const LLSD& cof_raw = content["cof_raw"];
 		for (LLSD::array_const_iterator it = cof_raw.beginArray();
@@ -2959,30 +2960,32 @@ protected:
 				ais_items.insert(item["item_id"].asUUID());
 				if (item["type"].asInteger() == 24) // link
 				{
-					LL_INFOS("Avatar") << "Link: item_id: " << item["item_id"].asUUID()
-										<< " linked_item_id: " << item["asset_id"].asUUID()
-										<< " name: " << item["name"].asString()
-										<< llendl; 
+					LL_INFOS("Avatar") << "AIS Link: item_id: " << item["item_id"].asUUID()
+									   << " linked_item_id: " << item["asset_id"].asUUID()
+									   << " name: " << item["name"].asString()
+									   << llendl; 
 				}
 				else if (item["type"].asInteger() == 25) // folder link
 				{
-					LL_INFOS("Avatar") << "Folder link: item_id: " << item["item_id"].asUUID()
-										<< " linked_item_id: " << item["asset_id"].asUUID()
-										<< " name: " << item["name"].asString()
-										<< llendl; 
+					LL_INFOS("Avatar") << "AIS Folder link: item_id: " << item["item_id"].asUUID()
+									   << " linked_item_id: " << item["asset_id"].asUUID()
+									   << " name: " << item["name"].asString()
+									   << llendl; 
 					
 				}
 				else
 				{
-					LL_INFOS("Avatar") << "Other: item_id: " << item["item_id"].asUUID()
-										<< " linked_item_id: " << item["asset_id"].asUUID()
-										<< " name: " << item["name"].asString()
-										<< llendl; 
+					LL_INFOS("Avatar") << "AIS Other: item_id: " << item["item_id"].asUUID()
+									   << " linked_item_id: " << item["asset_id"].asUUID()
+									   << " name: " << item["name"].asString()
+									   << " type: " << item["type"].asInteger()
+									   << llendl; 
 				}
 			}
 		}
 		LL_INFOS("Avatar") << llendl;
-		LL_INFOS("Avatar") << "Local COF, version requested: " << content["observed"].asInteger() << llendl;
+		LL_INFOS("Avatar") << "Local COF, version requested: " << content["observed"].asInteger() 
+						   << " ================================= " << llendl;
 		LLInventoryModel::cat_array_t cat_array;
 		LLInventoryModel::item_array_t item_array;
 		gInventory.collectDescendents(LLAppearanceMgr::instance().getCOF(),
@@ -2991,12 +2994,13 @@ protected:
 		{
 			const LLViewerInventoryItem* inv_item = item_array.get(i).get();
 			local_items.insert(inv_item->getUUID());
-			LL_INFOS("Avatar") << "item_id: " << inv_item->getUUID()
-								<< " linked_item_id: " << inv_item->getLinkedUUID()
-								<< " name: " << inv_item->getName()
-								<< llendl;
+			LL_INFOS("Avatar") << "LOCAL: item_id: " << inv_item->getUUID()
+							   << " linked_item_id: " << inv_item->getLinkedUUID()
+							   << " name: " << inv_item->getName()
+							   << " parent: " << inv_item->getParentUUID()
+							   << llendl;
 		}
-		LL_INFOS("Avatar") << llendl;
+		LL_INFOS("Avatar") << " ================================= " << llendl;
 		for (std::set<LLUUID>::iterator it = local_items.begin(); it != local_items.end(); ++it)
 		{
 			if (ais_items.find(*it) == ais_items.end())
@@ -3011,6 +3015,13 @@ protected:
 				LL_INFOS("Avatar") << "AIS ONLY: " << *it << llendl;
 			}
 		}
+		if (local_items.size()==0 && ais_items.size()==0)
+		{
+			LL_INFOS("Avatar") << "COF contents identical, only version numbers differ (req "
+							   << content["observed"].asInteger()
+							   << " rcv " << content["expected"].asInteger()
+							   << ")" << llendl;
+		}
 	}
 
 	LLPointer<LLHTTPRetryPolicy> mRetryPolicy;
-- 
cgit v1.2.3