diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llpreview.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/linden/indra/newview/llpreview.cpp b/linden/indra/newview/llpreview.cpp index 1a6d2ca..055851b 100644 --- a/linden/indra/newview/llpreview.cpp +++ b/linden/indra/newview/llpreview.cpp | |||
@@ -596,3 +596,32 @@ void LLMultiPreview::setAutoOpenInstance(LLMultiPreview* previewp, const LLUUID& | |||
596 | sAutoOpenPreviewHandles[id] = previewp->getHandle(); | 596 | sAutoOpenPreviewHandles[id] = previewp->getHandle(); |
597 | } | 597 | } |
598 | } | 598 | } |
599 | |||
600 | void LLPreview::setAssetId(const LLUUID& asset_id) | ||
601 | { | ||
602 | const LLViewerInventoryItem* item = getItem(); | ||
603 | if(NULL == item) | ||
604 | { | ||
605 | return; | ||
606 | } | ||
607 | |||
608 | if(mObjectUUID.isNull()) | ||
609 | { | ||
610 | // Update avatar inventory asset_id. | ||
611 | LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item); | ||
612 | new_item->setAssetUUID(asset_id); | ||
613 | gInventory.updateItem(new_item); | ||
614 | gInventory.notifyObservers(); | ||
615 | } | ||
616 | else | ||
617 | { | ||
618 | // Update object inventory asset_id. | ||
619 | LLViewerObject* object = gObjectList.findObject(mObjectUUID); | ||
620 | if(NULL == object) | ||
621 | { | ||
622 | llwarns << "LLPreview::setAssetId() called on unrecognized object, UUID : " << mObjectUUID << llendl; | ||
623 | return; | ||
624 | } | ||
625 | object->updateViewerInventoryAsset(item, asset_id); | ||
626 | } | ||
627 | } | ||