From 87fb19162ed0a7a66c576deda25717efa24029b2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 14 Jul 2010 06:57:56 -0700 Subject: [PATCH] More on mantis #4869. This fixes the problem of objects showing up as no copy when they are copy-able. It works, but I have no idea what I'm doing. --- OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 34461dc2d3..daacdf0886 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -276,6 +276,7 @@ namespace OpenSim.Region.Framework.Scenes { if (UUID.Zero == transactionID) { + m_log.DebugFormat("[XXX] UUID.Zero = transactionID"); item.Name = itemUpd.Name; item.Description = itemUpd.Description; item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; @@ -302,6 +303,7 @@ namespace OpenSim.Region.Framework.Scenes } else { + m_log.DebugFormat("[XXX] UUID.Zero != transactionID"); IAgentAssetTransactions agentTransactions = this.RequestModuleInterface(); if (agentTransactions != null) { @@ -386,6 +388,7 @@ namespace OpenSim.Region.Framework.Scenes if (Permissions.PropagatePermissions() && recipient != senderId) { + m_log.Debug("[XXX] Permissions.PropagatePermissions()"); // Trying to do this right this time. This is evil. If // you believe in Good, go elsewhere. Vampires and other // evil creatores only beyond this point. You have been @@ -449,12 +452,18 @@ namespace OpenSim.Region.Framework.Scenes (uint)PermissionMask.Modify) != 0 ? true : false; + bool isRootCopy = (item.CurrentPermissions & + (uint)PermissionMask.Copy) != 0 ? + true : false; + // Mask the owner perms to the folded perms ownerPerms &= foldedPerms; // If the root was mod, let the mask reflect that if (isRootMod) ownerPerms |= (uint)PermissionMask.Modify; + if (isRootCopy) + ownerPerms |= (uint)PermissionMask.Copy; } // These will be applied to the root prim at next rez.