aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2016-06-20 10:05:17 -0700
committerDiva Canto2016-06-20 10:05:17 -0700
commit623a2f859ff66f5b4f7e1bcb42d28509b66a02e2 (patch)
tree742743b788c7027e3901b726a58b9ead6de0fa45
parentRemoved a couple of verbose messages (diff)
downloadopensim-SC_OLD-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.zip
opensim-SC_OLD-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.tar.gz
opensim-SC_OLD-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.tar.bz2
opensim-SC_OLD-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.tar.xz
Mantis #7929: objects deeded to the group were loosing some important properties. This makes the "For sale" be visible, but is not the end of the story.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs15
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs2
2 files changed, 10 insertions, 7 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
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 0385582..dc5f869 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2125,7 +2125,7 @@ namespace OpenSim.Region.Framework.Scenes
2125 { 2125 {
2126 ForEachPart(delegate(SceneObjectPart part) 2126 ForEachPart(delegate(SceneObjectPart part)
2127 { 2127 {
2128 2128 part.LastOwnerID = part.OwnerID;
2129 part.OwnerID = userId; 2129 part.OwnerID = userId;
2130 2130
2131 }); 2131 });