summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2013-08-14 14:25:22 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2013-08-14 14:25:22 -0400
commit2157cf5e71f40ae4cc9eedaea6811a4c55718747 (patch)
treecbc308941ea4042d98e8decab622e73291ad7197 /indra
parent4961ee03c7af92754f853530a4d346ed84f721d1 (diff)
SH-4422 FIX - fixed some recently introduced issues with link description fields, which among other things reduces the number of appearance requests sent.
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/llappearancemgr.cpp14
-rwxr-xr-xindra/newview/llpaneleditwearable.cpp4
-rwxr-xr-xindra/newview/llviewerinventory.cpp12
-rwxr-xr-xindra/newview/llviewerinventory.h5
4 files changed, 14 insertions, 21 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index c4bc6f648f..939d817201 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1592,8 +1592,7 @@ void LLAppearanceMgr::shallowCopyCategoryContents(const LLUUID& src_id, const LL
}
if (!link_array.empty())
{
- const bool resolve_links = true;
- link_inventory_array(dst_id, link_array, cb, resolve_links);
+ link_inventory_array(dst_id, link_array, cb);
}
}
@@ -2528,10 +2527,10 @@ void LLAppearanceMgr::addCOFItemLink(const LLInventoryItem *item,
if (!linked_already)
{
- LLInventoryObject::const_object_list_t obj_array;
- obj_array.push_back(LLConstPointer<LLInventoryObject>(vitem));
- const bool resolve_links = true;
- link_inventory_array(getCOF(), obj_array, cb, resolve_links);
+ LLViewerInventoryItem *copy_item = new LLViewerInventoryItem;
+ copy_item->copyViewerItem(vitem);
+ copy_item->setDescription(description);
+ link_inventory_object(getCOF(), copy_item, cb);
}
}
@@ -2735,7 +2734,8 @@ void LLAppearanceMgr::updateIsDirty()
if (item1->getActualDescription() != item2->getActualDescription())
{
LL_DEBUGS("Avatar") << "desc different " << item1->getActualDescription()
- << " " << item2->getActualDescription() << llendl;
+ << " " << item2->getActualDescription()
+ << " names " << item1->getName() << " " << item2->getName() << llendl;
}
}
mOutfitIsDirty = true;
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 0532370ff2..582998c973 100755
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -1098,11 +1098,9 @@ void LLPanelEditWearable::saveChanges(bool force_save_as)
LLInventoryObject::const_object_list_t obj_array;
obj_array.push_back(LLConstPointer<LLInventoryObject>(link_item));
- const bool resolve_links = true;
link_inventory_array(LLAppearanceMgr::instance().getCOF(),
obj_array,
- gAgentAvatarp->mEndCustomizeCallback,
- resolve_links);
+ gAgentAvatarp->mEndCustomizeCallback);
// Remove old link
remove_inventory_item(link_item->getUUID(), gAgentAvatarp->mEndCustomizeCallback);
}
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index dc17da9009..b623b23e1a 100755
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -1101,8 +1101,7 @@ void link_inventory_object(const LLUUID& category,
// Create links to all listed inventory objects.
void link_inventory_array(const LLUUID& category,
LLInventoryObject::const_object_list_t& baseobj_array,
- LLPointer<LLInventoryCallback> cb,
- bool resolve_links /* = false */)
+ LLPointer<LLInventoryCallback> cb)
{
#ifndef LL_RELEASE_FOR_DOWNLOAD
const LLViewerInventoryCategory *cat = gInventory.getCategory(category);
@@ -1119,11 +1118,6 @@ void link_inventory_array(const LLUUID& category,
llwarns << "attempt to link to unknown object" << llendl;
continue;
}
- if (!resolve_links && baseobj->getIsLinkType())
- {
- llwarns << "attempt to create a link to a link, linked-to-object's ID " << baseobj->getUUID() << llendl;
- continue;
- }
if (!LLAssetType::lookupCanLink(baseobj->getType()))
{
@@ -1741,7 +1735,9 @@ void slam_inventory_folder(const LLUUID& folder_id,
++it)
{
const LLSD& item_contents = *it;
- link_inventory_object(folder_id, item_contents["linked_id"].asUUID(), cb);
+ LLViewerInventoryItem *item = new LLViewerInventoryItem;
+ item->fromLLSD(item_contents);
+ link_inventory_object(folder_id, item, cb);
}
remove_folder_contents(folder_id,false,cb);
}
diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h
index cc715ae21d..b647f4756a 100755
--- a/indra/newview/llviewerinventory.h
+++ b/indra/newview/llviewerinventory.h
@@ -359,9 +359,8 @@ void link_inventory_object(const LLUUID& category,
const LLUUID& id,
LLPointer<LLInventoryCallback> cb);
void link_inventory_array(const LLUUID& category,
- LLInventoryObject::const_object_list_t& baseobj_array,
- LLPointer<LLInventoryCallback> cb,
- bool resolve_links = false);
+ LLInventoryObject::const_object_list_t& baseobj_array,
+ LLPointer<LLInventoryCallback> cb);
void move_inventory_item(
const LLUUID& agent_id,