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