From f41dfbabc8e31ed9e38e50cdfa9963ac05b1648c Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 4 Dec 2010 05:01:44 +0100 Subject: [PATCH] Simplify updating of agent inventory assets. Make newly created asset IDs random rather than using IDs known by the client ahead of time. --- .../AgentAssetsTransactions.cs | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs index 0af113a73d..c66a4ea26b 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs @@ -149,10 +149,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction if (asset != null) { - m_log.DebugFormat( - "[ASSET TRANSACTIONS]: Updating task item {0} in {1} with asset in transaction {2}", - item.Name, part.Name, transactionID); - + asset.FullID = UUID.Random(); asset.Name = item.Name; asset.Description = item.Description; asset.Type = (sbyte)item.Type; @@ -170,20 +167,10 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction { if (XferUploaders.ContainsKey(transactionID)) { - UUID assetID = UUID.Combine(transactionID, - remoteClient.SecureSessionId); + AssetBase asset = GetTransactionAsset(transactionID); - AssetBase asset = m_Scene.AssetService.Get( - assetID.ToString()); - - if (asset == null) + if (asset != null) { - asset = GetTransactionAsset(transactionID); - } - - if (asset != null && asset.FullID == assetID) - { - // Assets never get updated, new ones get created asset.FullID = UUID.Random(); asset.Name = item.Name; asset.Description = item.Description; @@ -191,10 +178,10 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction item.AssetID = asset.FullID; m_Scene.AssetService.Store(asset); - } - IInventoryService invService = m_Scene.InventoryService; - invService.UpdateItem(item); + IInventoryService invService = m_Scene.InventoryService; + invService.UpdateItem(item); + } } } }