aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs15
1 files changed, 9 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index b77b860..bcc0cea 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2729,7 +2729,7 @@ namespace OpenSim.Region.Framework.Scenes
2729 child.TriggerScriptChangedEvent(Changed.OWNER); 2729 child.TriggerScriptChangedEvent(Changed.OWNER);
2730 } 2730 }
2731 } 2731 }
2732 else 2732 else // The object was deeded to the group
2733 { 2733 {
2734 if (!Permissions.IsGod(remoteClient.AgentId) && sog.OwnerID != remoteClient.AgentId) 2734 if (!Permissions.IsGod(remoteClient.AgentId) && sog.OwnerID != remoteClient.AgentId)
2735 continue; 2735 continue;
@@ -2739,18 +2739,21 @@ namespace OpenSim.Region.Framework.Scenes
2739 2739
2740 if (sog.GroupID != groupID) 2740 if (sog.GroupID != groupID)
2741 continue; 2741 continue;
2742
2743 SceneObjectPart[] partList = sog.Parts;
2744 2742
2743 sog.SetOwnerId(groupID);
2744 // Make the group mask be the previous owner mask
2745 sog.RootPart.GroupMask = sog.RootPart.OwnerMask;
2746
2747 sog.ScheduleGroupForFullUpdate();
2748
2749 SceneObjectPart[] partList = sog.Parts;
2745 foreach (SceneObjectPart child in partList) 2750 foreach (SceneObjectPart child in partList)
2746 { 2751 {
2747 child.LastOwnerID = child.OwnerID;
2748 child.Inventory.ChangeInventoryOwner(groupID); 2752 child.Inventory.ChangeInventoryOwner(groupID);
2749 child.TriggerScriptChangedEvent(Changed.OWNER); 2753 child.TriggerScriptChangedEvent(Changed.OWNER);
2750 } 2754 }
2751 2755
2752 sog.SetOwnerId(groupID); 2756
2753 sog.ApplyNextOwnerPermissions();
2754 } 2757 }
2755 } 2758 }
2756 2759