diff options
author | Melanie Thielker | 2009-06-21 19:49:11 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-06-21 19:49:11 +0000 |
commit | bc1dce071ac28ff122b2ccb3b0ea6b79f9cca41d (patch) | |
tree | a45fac9a50092e1159b6b3333d57ed0ec79161f2 | |
parent | Do llEscapeURL with Uri.EscapeDataString instead of Uri.EscapeUriString. (diff) | |
download | opensim-SC_OLD-bc1dce071ac28ff122b2ccb3b0ea6b79f9cca41d.zip opensim-SC_OLD-bc1dce071ac28ff122b2ccb3b0ea6b79f9cca41d.tar.gz opensim-SC_OLD-bc1dce071ac28ff122b2ccb3b0ea6b79f9cca41d.tar.bz2 opensim-SC_OLD-bc1dce071ac28ff122b2ccb3b0ea6b79f9cca41d.tar.xz |
Correct the behaviro of group deeding and llGetOwner() within deeded objects
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 8 |
2 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 1109e77..4514b1e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3295,7 +3295,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3295 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); | 3295 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); |
3296 | objPropDB.RequestFlags = RequestFlags; | 3296 | objPropDB.RequestFlags = RequestFlags; |
3297 | objPropDB.ObjectID = ObjectUUID; | 3297 | objPropDB.ObjectID = ObjectUUID; |
3298 | objPropDB.OwnerID = OwnerID; | 3298 | if (OwnerID == GroupID) |
3299 | objPropDB.OwnerID = UUID.Zero; | ||
3300 | else | ||
3301 | objPropDB.OwnerID = OwnerID; | ||
3299 | objPropDB.GroupID = GroupID; | 3302 | objPropDB.GroupID = GroupID; |
3300 | objPropDB.BaseMask = BaseMask; | 3303 | objPropDB.BaseMask = BaseMask; |
3301 | objPropDB.OwnerMask = OwnerMask; | 3304 | objPropDB.OwnerMask = OwnerMask; |
@@ -3340,7 +3343,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3340 | // proper.ObjectData[0].LastOwnerID = UUID.Zero; | 3343 | // proper.ObjectData[0].LastOwnerID = UUID.Zero; |
3341 | 3344 | ||
3342 | proper.ObjectData[0].ObjectID = ObjectUUID; | 3345 | proper.ObjectData[0].ObjectID = ObjectUUID; |
3343 | proper.ObjectData[0].OwnerID = OwnerUUID; | 3346 | if (OwnerUUID == GroupUUID) |
3347 | proper.ObjectData[0].OwnerID = UUID.Zero; | ||
3348 | else | ||
3349 | proper.ObjectData[0].OwnerID = OwnerUUID; | ||
3344 | proper.ObjectData[0].TouchName = LLUtil.StringToPacketBytes(TouchTitle); | 3350 | proper.ObjectData[0].TouchName = LLUtil.StringToPacketBytes(TouchTitle); |
3345 | proper.ObjectData[0].TextureID = TextureID; | 3351 | proper.ObjectData[0].TextureID = TextureID; |
3346 | proper.ObjectData[0].SitName = LLUtil.StringToPacketBytes(SitTitle); | 3352 | proper.ObjectData[0].SitName = LLUtil.StringToPacketBytes(SitTitle); |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index c24ecf5..2fc3791 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2701,7 +2701,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2701 | 2701 | ||
2702 | foreach (SceneObjectGroup sog in groups) | 2702 | foreach (SceneObjectGroup sog in groups) |
2703 | { | 2703 | { |
2704 | if (ownerID != null) | 2704 | if (ownerID != UUID.Zero) |
2705 | { | 2705 | { |
2706 | sog.SetOwnerId(ownerID); | 2706 | sog.SetOwnerId(ownerID); |
2707 | sog.SetGroup(groupID, remoteClient); | 2707 | sog.SetGroup(groupID, remoteClient); |
@@ -2727,6 +2727,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2727 | sog.ApplyNextOwnerPermissions(); | 2727 | sog.ApplyNextOwnerPermissions(); |
2728 | } | 2728 | } |
2729 | } | 2729 | } |
2730 | |||
2731 | foreach (uint localID in localIDs) | ||
2732 | { | ||
2733 | SceneObjectPart part = GetSceneObjectPart(localID); | ||
2734 | part.GetProperties(remoteClient); | ||
2735 | } | ||
2730 | } | 2736 | } |
2731 | } | 2737 | } |
2732 | } | 2738 | } |