diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index 0aa4693..ffff37d 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | |||
@@ -34,6 +34,7 @@ using OpenMetaverse; | |||
34 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
35 | using OpenSim.Region.Framework.Scenes; | 35 | using OpenSim.Region.Framework.Scenes; |
36 | using OpenSim.Services.Interfaces; | 36 | using OpenSim.Services.Interfaces; |
37 | using PermissionMask = OpenSim.Framework.PermissionMask; | ||
37 | 38 | ||
38 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | 39 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction |
39 | { | 40 | { |
@@ -260,10 +261,10 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
260 | { | 261 | { |
261 | CompleteTaskItemUpdate(m_updateTaskItemData); | 262 | CompleteTaskItemUpdate(m_updateTaskItemData); |
262 | } | 263 | } |
263 | // else if (m_storeLocal) | 264 | else if (m_asset.Local) |
264 | // { | 265 | { |
265 | // m_Scene.AssetService.Store(m_asset); | 266 | m_Scene.AssetService.Store(m_asset); |
266 | // } | 267 | } |
267 | } | 268 | } |
268 | 269 | ||
269 | m_log.DebugFormat( | 270 | m_log.DebugFormat( |
@@ -339,7 +340,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
339 | // to avoid a race condition when the appearance module retrieves the item to set the asset id in | 340 | // to avoid a race condition when the appearance module retrieves the item to set the asset id in |
340 | // the AvatarAppearance structure. | 341 | // the AvatarAppearance structure. |
341 | item.AssetID = m_asset.FullID; | 342 | item.AssetID = m_asset.FullID; |
342 | m_Scene.InventoryService.UpdateItem(item); | 343 | if (item.AssetID != UUID.Zero) |
344 | m_Scene.InventoryService.UpdateItem(item); | ||
343 | 345 | ||
344 | if (m_uploadState == UploadState.Complete) | 346 | if (m_uploadState == UploadState.Complete) |
345 | { | 347 | { |
@@ -390,6 +392,11 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
390 | // m_asset.FullID, item.Name, ourClient.Name); | 392 | // m_asset.FullID, item.Name, ourClient.Name); |
391 | 393 | ||
392 | m_Scene.AssetService.Store(m_asset); | 394 | m_Scene.AssetService.Store(m_asset); |
395 | if (m_asset.FullID != UUID.Zero) | ||
396 | { | ||
397 | item.AssetID = m_asset.FullID; | ||
398 | m_Scene.InventoryService.UpdateItem(item); | ||
399 | } | ||
393 | 400 | ||
394 | m_transactions.RemoveXferUploader(m_transactionID); | 401 | m_transactions.RemoveXferUploader(m_transactionID); |
395 | } | 402 | } |
@@ -424,8 +431,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
424 | item.AssetType = type; | 431 | item.AssetType = type; |
425 | item.InvType = invType; | 432 | item.InvType = invType; |
426 | item.Folder = InventFolder; | 433 | item.Folder = InventFolder; |
427 | item.BasePermissions = 0x7fffffff; | 434 | item.BasePermissions = (uint)(PermissionMask.All | PermissionMask.Export); |
428 | item.CurrentPermissions = 0x7fffffff; | 435 | item.CurrentPermissions = item.BasePermissions; |
429 | item.GroupPermissions=0; | 436 | item.GroupPermissions=0; |
430 | item.EveryOnePermissions=0; | 437 | item.EveryOnePermissions=0; |
431 | item.NextPermissions = nextPerm; | 438 | item.NextPermissions = nextPerm; |