aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Agent/AssetTransaction
diff options
context:
space:
mode:
authorMelanie2012-09-24 13:41:48 +0200
committerMelanie2012-09-24 13:41:48 +0200
commit6963b96bd05b17624a2e46726b033e179d50b280 (patch)
treedbb2c75876bf0bb7d530210dbe2665caae401897 /OpenSim/Region/CoreModules/Agent/AssetTransaction
parentChange the poll service to use a thread pool for replies to make sure the (diff)
downloadopensim-SC_OLD-6963b96bd05b17624a2e46726b033e179d50b280.zip
opensim-SC_OLD-6963b96bd05b17624a2e46726b033e179d50b280.tar.gz
opensim-SC_OLD-6963b96bd05b17624a2e46726b033e179d50b280.tar.bz2
opensim-SC_OLD-6963b96bd05b17624a2e46726b033e179d50b280.tar.xz
If an asset upload transaction doesn't exist for a CreateInventory request,
simply process it as if UUID.Zero had been given.
Diffstat (limited to 'OpenSim/Region/CoreModules/Agent/AssetTransaction')
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs12
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs4
2 files changed, 9 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
index b557ffe..8a4fd8f 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
@@ -146,7 +146,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
146 } 146 }
147 } 147 }
148 148
149 public void RequestCreateInventoryItem(IClientAPI remoteClient, 149 public bool RequestCreateInventoryItem(IClientAPI remoteClient,
150 UUID transactionID, UUID folderID, uint callbackID, 150 UUID transactionID, UUID folderID, uint callbackID,
151 string description, string name, sbyte invType, 151 string description, string name, sbyte invType,
152 sbyte type, byte wearableType, uint nextOwnerMask) 152 sbyte type, byte wearableType, uint nextOwnerMask)
@@ -160,14 +160,16 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
160 } 160 }
161 161
162 if (uploader != null) 162 if (uploader != null)
163 {
163 uploader.RequestCreateInventoryItem( 164 uploader.RequestCreateInventoryItem(
164 remoteClient, transactionID, folderID, 165 remoteClient, transactionID, folderID,
165 callbackID, description, name, invType, type, 166 callbackID, description, name, invType, type,
166 wearableType, nextOwnerMask); 167 wearableType, nextOwnerMask);
167 else 168
168 m_log.ErrorFormat( 169 return true;
169 "[AGENT ASSET TRANSACTIONS]: Could not find uploader with transaction ID {0} when handling request to create inventory item {1} from {2}", 170 }
170 transactionID, name, remoteClient.Name); 171
172 return false;
171 } 173 }
172 174
173 /// <summary> 175 /// <summary>
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
index 7081989..441c4ff 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
@@ -158,7 +158,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
158 /// <param name="type"></param> 158 /// <param name="type"></param>
159 /// <param name="wearableType"></param> 159 /// <param name="wearableType"></param>
160 /// <param name="nextOwnerMask"></param> 160 /// <param name="nextOwnerMask"></param>
161 public void HandleItemCreationFromTransaction(IClientAPI remoteClient, 161 public bool HandleItemCreationFromTransaction(IClientAPI remoteClient,
162 UUID transactionID, UUID folderID, uint callbackID, 162 UUID transactionID, UUID folderID, uint callbackID,
163 string description, string name, sbyte invType, 163 string description, string name, sbyte invType,
164 sbyte type, byte wearableType, uint nextOwnerMask) 164 sbyte type, byte wearableType, uint nextOwnerMask)
@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
169 AgentAssetTransactions transactions = 169 AgentAssetTransactions transactions =
170 GetUserTransactions(remoteClient.AgentId); 170 GetUserTransactions(remoteClient.AgentId);
171 171
172 transactions.RequestCreateInventoryItem(remoteClient, transactionID, 172 return transactions.RequestCreateInventoryItem(remoteClient, transactionID,
173 folderID, callbackID, description, name, invType, type, 173 folderID, callbackID, description, name, invType, type,
174 wearableType, nextOwnerMask); 174 wearableType, nextOwnerMask);
175 } 175 }