diff options
author | UbitUmarov | 2017-01-16 19:22:39 +0000 |
---|---|---|
committer | UbitUmarov | 2017-01-16 19:22:39 +0000 |
commit | ffa6c7aae2266708884ec16d75d7b8b5bae638e5 (patch) | |
tree | c109bdaddb55e65941553562a6e274ce93bd9536 /OpenSim/Region/Framework/Scenes | |
parent | chance new effective permissions code to ease aggregation on demand( ie on c... (diff) | |
download | opensim-SC_OLD-ffa6c7aae2266708884ec16d75d7b8b5bae638e5.zip opensim-SC_OLD-ffa6c7aae2266708884ec16d75d7b8b5bae638e5.tar.gz opensim-SC_OLD-ffa6c7aae2266708884ec16d75d7b8b5bae638e5.tar.bz2 opensim-SC_OLD-ffa6c7aae2266708884ec16d75d7b8b5bae638e5.tar.xz |
avoid lastOwner beeing the group
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 3 |
3 files changed, 11 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3f531be..4d1e564 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2751,7 +2751,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2751 | /// <param name="cGroupID"></param> | 2751 | /// <param name="cGroupID"></param> |
2752 | public void SetRootPartOwner(SceneObjectPart part, UUID cAgentID, UUID cGroupID) | 2752 | public void SetRootPartOwner(SceneObjectPart part, UUID cAgentID, UUID cGroupID) |
2753 | { | 2753 | { |
2754 | part.LastOwnerID = part.OwnerID; | 2754 | if(part.GroupID != part.OwnerID && cGroupID != part.OwnerID) |
2755 | part.LastOwnerID = part.OwnerID; | ||
2755 | part.OwnerID = cAgentID; | 2756 | part.OwnerID = cAgentID; |
2756 | part.GroupID = cGroupID; | 2757 | part.GroupID = cGroupID; |
2757 | 2758 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9f99665..87ce0b7 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -2228,7 +2228,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2228 | dupe.LocalId = plocalID; | 2228 | dupe.LocalId = plocalID; |
2229 | 2229 | ||
2230 | // This may be wrong... it might have to be applied in SceneObjectGroup to the object that's being duplicated. | 2230 | // This may be wrong... it might have to be applied in SceneObjectGroup to the object that's being duplicated. |
2231 | dupe.LastOwnerID = OwnerID; | 2231 | if(OwnerID != GroupID) |
2232 | dupe.LastOwnerID = OwnerID; | ||
2233 | else | ||
2234 | dupe.LastOwnerID = LastOwnerID; // redundant ? | ||
2235 | |||
2232 | dupe.RezzerID = RezzerID; | 2236 | dupe.RezzerID = RezzerID; |
2233 | 2237 | ||
2234 | byte[] extraP = new byte[Shape.ExtraParams.Length]; | 2238 | byte[] extraP = new byte[Shape.ExtraParams.Length]; |
@@ -5246,7 +5250,8 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter | |||
5246 | 5250 | ||
5247 | //LogPermissions("After ApplyNextOwnerPermissions"); | 5251 | //LogPermissions("After ApplyNextOwnerPermissions"); |
5248 | 5252 | ||
5249 | LastOwnerID = OwnerID; | 5253 | if(OwnerID != GroupID) |
5254 | LastOwnerID = OwnerID; | ||
5250 | OwnerID = item.Owner; | 5255 | OwnerID = item.Owner; |
5251 | Inventory.ChangeInventoryOwner(item.Owner); | 5256 | Inventory.ChangeInventoryOwner(item.Owner); |
5252 | } | 5257 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index a55936f..4dd8eb1 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -965,7 +965,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
965 | { | 965 | { |
966 | if ((part.OwnerID != item.OwnerID) || (item.CurrentPermissions & (uint)PermissionMask.Slam) != 0 || (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) | 966 | if ((part.OwnerID != item.OwnerID) || (item.CurrentPermissions & (uint)PermissionMask.Slam) != 0 || (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) |
967 | { | 967 | { |
968 | part.LastOwnerID = part.OwnerID; | 968 | if(part.GroupID != part.OwnerID) |
969 | part.LastOwnerID = part.OwnerID; | ||
969 | part.OwnerID = item.OwnerID; | 970 | part.OwnerID = item.OwnerID; |
970 | part.Inventory.ChangeInventoryOwner(item.OwnerID); | 971 | part.Inventory.ChangeInventoryOwner(item.OwnerID); |
971 | } | 972 | } |