diff options
Diffstat (limited to 'indra/newview/llaisapi.cpp')
-rwxr-xr-x | indra/newview/llaisapi.cpp | 12 |
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); } |