summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-18 16:51:37 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-18 16:51:37 -0400
commit27fc270c73fdf3db5c07e9ed43b7f4d0994b2cc2 (patch)
treefc3b3ded038cad2429cbc6a475f0248e5e83f47f /indra/newview
parent56cf4297f3c603b8c39880ee20ce0fd6fb3341e5 (diff)
SH-4262 WIP - fix for the reordering bug in AIS regions.
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llaisapi.cpp7
-rwxr-xr-xindra/newview/llappearancemgr.cpp5
-rwxr-xr-xindra/newview/llviewerinventory.cpp3
3 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 393e5c0a68..aad12a9cc9 100755
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -326,6 +326,12 @@ void AISUpdate::parseUpdate(const LLSD& update)
{
LLUUID item_id = update["item_id"].asUUID();
LLPointer<LLViewerInventoryItem> new_item(new LLViewerInventoryItem);
+ LLViewerInventoryItem *curr_item = gInventory.getItem(item_id);
+ if (curr_item)
+ {
+ // Default to current values where not provided.
+ new_item->copyViewerItem(curr_item);
+ }
BOOL rv = new_item->unpackMessage(update);
if (rv)
{
@@ -468,6 +474,7 @@ void AISUpdate::doUpdate()
// cases. Maybe break out the update/create cases, in which
// case this is update.
LL_DEBUGS("Inventory") << "updated item " << item_id << llendl;
+ //LL_DEBUGS("Inventory") << ll_pretty_print_sd(new_item->asLLSD()) << llendl;
gInventory.updateItem(new_item);
}
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index f5f6faf6b6..16552f0082 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -3434,7 +3434,12 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b
swap_item->setDescription(item->getActualDescription());
item->setDescription(tmp);
+ // LL_DEBUGS("Inventory") << "swap, item "
+ // << ll_pretty_print_sd(item->asLLSD())
+ // << " swap_item "
+ // << ll_pretty_print_sd(swap_item->asLLSD()) << llendl;
+ // FIXME switch to use AISv3 where supported.
//items need to be updated on a dataserver
item->setComplete(TRUE);
item->updateServer(FALSE);
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 55575764b9..26aecd39d1 100755
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -360,7 +360,8 @@ void LLViewerInventoryItem::updateServer(BOOL is_new) const
if(gAgent.getID() != mPermissions.getOwner())
{
// *FIX: deal with this better.
- llwarns << "LLViewerInventoryItem::updateServer() - for unowned item"
+ llwarns << "LLViewerInventoryItem::updateServer() - for unowned item "
+ << ll_pretty_print_sd(this->asLLSD())
<< llendl;
return;
}