From f25602181f22d7f65f32ff970a5f4def3e6b8e6d Mon Sep 17 00:00:00 2001 From: Brian McGroarty <soft@lindenlab.com> Date: Wed, 14 Oct 2009 20:49:17 +0000 Subject: [PATCH] Merge r135130 for DEV-4476 - Edits to notecards not visible in viewer session --- indra/newview/llassetuploadresponders.cpp | 2 +- indra/newview/llpreview.cpp | 28 +++++++++++++++++++++++ indra/newview/llpreview.h | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp index 827ae5855bd..cd3963050f6 100644 --- a/indra/newview/llassetuploadresponders.cpp +++ b/indra/newview/llassetuploadresponders.cpp @@ -539,7 +539,7 @@ void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content) gVFS->removeFile(content["new_asset"].asUUID(), LLAssetType::AT_NOTECARD); } - + nc->setAssetId(content["new_asset"].asUUID()); nc->refreshFromInventory(); } break; diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp index ab253e012d2..b06e70c00af 100644 --- a/indra/newview/llpreview.cpp +++ b/indra/newview/llpreview.cpp @@ -492,3 +492,31 @@ void LLMultiPreview::tabOpen(LLFloater* opened_floater, bool from_click) } } + +void LLPreview::setAssetId(const LLUUID& asset_id) +{ + const LLViewerInventoryItem* item = dynamic_cast<const LLViewerInventoryItem*>(getItem()); + if(NULL == item) + { + return; + } + + if(mObjectUUID.isNull()) + { + // Update avatar inventory asset_id. + LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item); + new_item->setAssetUUID(asset_id); + gInventory.updateItem(new_item); + gInventory.notifyObservers(); + } + else + { + // Update object inventory asset_id. + LLViewerObject* object = gObjectList.findObject(mObjectUUID); + if(NULL == object) + { + return; + } + object->updateViewerInventoryAsset(item, asset_id); + } +} diff --git a/indra/newview/llpreview.h b/indra/newview/llpreview.h index c5f2bfcf47f..506c135ca64 100644 --- a/indra/newview/llpreview.h +++ b/indra/newview/llpreview.h @@ -77,6 +77,7 @@ class LLPreview : public LLFloater, LLInventoryObserver void setObjectID(const LLUUID& object_id); void setItem( LLInventoryItem* item ); + void setAssetId(const LLUUID& asset_id); const LLInventoryItem* getItem() const; // searches if not constructed with it static void hide(const LLUUID& item_uuid, BOOL no_saving = FALSE ); -- GitLab