summaryrefslogtreecommitdiff
path: root/indra/newview/llaisapi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llaisapi.cpp')
-rwxr-xr-xindra/newview/llaisapi.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 21f6482a06..8037654812 100755
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -313,12 +313,7 @@ void AISUpdate::parseUpdate(const LLSD& update)
const LLSD& links = embedded["link"];
parseCreatedLinks(links);
}
- else
- {
- llwarns << "unrecognized embedded field " << field << llendl;
- }
}
-
}
// Parse item update at the top level.
@@ -326,6 +321,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 +469,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);
}