diff options
author | Melanie | 2012-09-27 17:29:44 +0100 |
---|---|---|
committer | Melanie | 2012-09-27 17:29:44 +0100 |
commit | 001ec0e2e6f8c426af8f4a1c1eb9be4db066aea4 (patch) | |
tree | 11170fddbd0f4c71c6f8288b5848442dfdc90d76 /OpenSim/Region/CoreModules/Framework | |
parent | Remove a core undo call that we don't need. (diff) | |
parent | Merge branch 'ubitwork' into avination (diff) | |
download | opensim-SC_OLD-001ec0e2e6f8c426af8f4a1c1eb9be4db066aea4.zip opensim-SC_OLD-001ec0e2e6f8c426af8f4a1c1eb9be4db066aea4.tar.gz opensim-SC_OLD-001ec0e2e6f8c426af8f4a1c1eb9be4db066aea4.tar.bz2 opensim-SC_OLD-001ec0e2e6f8c426af8f4a1c1eb9be4db066aea4.tar.xz |
Merge branch 'avination' into careminster
Conflicts:
OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
OpenSim/Region/Framework/Scenes/Scene.cs
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 57 |
2 files changed, 29 insertions, 30 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 1f62743..c5bb9a5 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -663,7 +663,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
663 | // | 663 | // |
664 | // This sleep can be increased if necessary. However, whilst it's active, | 664 | // This sleep can be increased if necessary. However, whilst it's active, |
665 | // an agent cannot teleport back to this region if it has teleported away. | 665 | // an agent cannot teleport back to this region if it has teleported away. |
666 | Thread.Sleep(2000); | 666 | Thread.Sleep(3000); |
667 | 667 | ||
668 | sp.Scene.IncomingCloseAgent(sp.UUID, false); | 668 | sp.Scene.IncomingCloseAgent(sp.UUID, false); |
669 | } | 669 | } |
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 9a56f42..50f5f68 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -186,44 +186,43 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
186 | if (folder == null || folder.Owner != remoteClient.AgentId) | 186 | if (folder == null || folder.Owner != remoteClient.AgentId) |
187 | return; | 187 | return; |
188 | 188 | ||
189 | if (transactionID == UUID.Zero) | 189 | if (transactionID != UUID.Zero) |
190 | { | 190 | { |
191 | ScenePresence presence; | 191 | IAgentAssetTransactions agentTransactions = m_Scene.AgentTransactionsModule; |
192 | if (m_Scene.TryGetScenePresence(remoteClient.AgentId, out presence)) | 192 | if (agentTransactions != null) |
193 | { | 193 | { |
194 | byte[] data = null; | 194 | if (agentTransactions.HandleItemCreationFromTransaction( |
195 | remoteClient, transactionID, folderID, callbackID, description, | ||
196 | name, invType, assetType, wearableType, nextOwnerMask)) | ||
197 | return; | ||
198 | } | ||
199 | } | ||
195 | 200 | ||
196 | if (invType == (sbyte)InventoryType.Landmark && presence != null) | 201 | ScenePresence presence; |
197 | { | 202 | if (m_Scene.TryGetScenePresence(remoteClient.AgentId, out presence)) |
198 | string suffix = string.Empty, prefix = string.Empty; | 203 | { |
199 | string strdata = GenerateLandmark(presence, out prefix, out suffix); | 204 | byte[] data = null; |
200 | data = Encoding.ASCII.GetBytes(strdata); | ||
201 | name = prefix + name; | ||
202 | description += suffix; | ||
203 | } | ||
204 | 205 | ||
205 | AssetBase asset = m_Scene.CreateAsset(name, description, assetType, data, remoteClient.AgentId); | 206 | if (invType == (sbyte)InventoryType.Landmark && presence != null) |
206 | m_Scene.AssetService.Store(asset); | ||
207 | m_Scene.CreateNewInventoryItem( | ||
208 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, | ||
209 | name, description, 0, callbackID, asset, invType, nextOwnerMask, creationDate); | ||
210 | } | ||
211 | else | ||
212 | { | 207 | { |
213 | m_log.ErrorFormat( | 208 | string suffix = string.Empty, prefix = string.Empty; |
214 | "[INVENTORY ACCESS MODULE]: ScenePresence for agent uuid {0} unexpectedly not found in CreateNewInventoryItem", | 209 | string strdata = GenerateLandmark(presence, out prefix, out suffix); |
215 | remoteClient.AgentId); | 210 | data = Encoding.ASCII.GetBytes(strdata); |
211 | name = prefix + name; | ||
212 | description += suffix; | ||
216 | } | 213 | } |
214 | |||
215 | AssetBase asset = m_Scene.CreateAsset(name, description, assetType, data, remoteClient.AgentId); | ||
216 | m_Scene.AssetService.Store(asset); | ||
217 | m_Scene.CreateNewInventoryItem( | ||
218 | remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, | ||
219 | name, description, 0, callbackID, asset, invType, nextOwnerMask, creationDate,transactionID); | ||
217 | } | 220 | } |
218 | else | 221 | else |
219 | { | 222 | { |
220 | IAgentAssetTransactions agentTransactions = m_Scene.AgentTransactionsModule; | 223 | m_log.ErrorFormat( |
221 | if (agentTransactions != null) | 224 | "[INVENTORY ACCESS MODULE]: ScenePresence for agent uuid {0} unexpectedly not found in CreateNewInventoryItem", |
222 | { | 225 | remoteClient.AgentId); |
223 | agentTransactions.HandleItemCreationFromTransaction( | ||
224 | remoteClient, transactionID, folderID, callbackID, description, | ||
225 | name, invType, assetType, wearableType, nextOwnerMask); | ||
226 | } | ||
227 | } | 226 | } |
228 | } | 227 | } |
229 | 228 | ||