diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 13 |
2 files changed, 9 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index 0aa4693..43b8b44 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | |||
@@ -339,7 +339,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 | 339 | // to avoid a race condition when the appearance module retrieves the item to set the asset id in |
340 | // the AvatarAppearance structure. | 340 | // the AvatarAppearance structure. |
341 | item.AssetID = m_asset.FullID; | 341 | item.AssetID = m_asset.FullID; |
342 | m_Scene.InventoryService.UpdateItem(item); | 342 | if (item.AssetID != UUID.Zero) |
343 | m_Scene.InventoryService.UpdateItem(item); | ||
343 | 344 | ||
344 | if (m_uploadState == UploadState.Complete) | 345 | if (m_uploadState == UploadState.Complete) |
345 | { | 346 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 9f0a0e2..a9e1fc2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -401,17 +401,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
401 | if (item.Owner != remoteClient.AgentId) | 401 | if (item.Owner != remoteClient.AgentId) |
402 | return; | 402 | return; |
403 | 403 | ||
404 | if (UUID.Zero == transactionID) | 404 | item.Flags = (item.Flags & ~(uint)255) | (itemUpd.Flags & (uint)255); |
405 | { | 405 | item.Name = itemUpd.Name; |
406 | item.Flags = (item.Flags & ~(uint)255) | (itemUpd.Flags & (uint)255); | 406 | item.Description = itemUpd.Description; |
407 | item.Name = itemUpd.Name; | ||
408 | item.Description = itemUpd.Description; | ||
409 | 407 | ||
410 | // m_log.DebugFormat( | 408 | // m_log.DebugFormat( |
411 | // "[USER INVENTORY]: itemUpd {0} {1} {2} {3}, item {4} {5} {6} {7}", | 409 | // "[USER INVENTORY]: itemUpd {0} {1} {2} {3}, item {4} {5} {6} {7}", |
412 | // itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags, | 410 | // itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags, |
413 | // item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions); | 411 | // item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions); |
414 | 412 | ||
413 | if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid | ||
414 | { | ||
415 | if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) | 415 | if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) |
416 | item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; | 416 | item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; |
417 | item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; | 417 | item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; |
@@ -446,7 +446,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
446 | 446 | ||
447 | InventoryService.UpdateItem(item); | 447 | InventoryService.UpdateItem(item); |
448 | } | 448 | } |
449 | else | 449 | |
450 | if (UUID.Zero != transactionID) | ||
450 | { | 451 | { |
451 | if (AgentTransactionsModule != null) | 452 | if (AgentTransactionsModule != null) |
452 | { | 453 | { |