diff options
author | Diva Canto | 2016-06-20 10:05:17 -0700 |
---|---|---|
committer | Diva Canto | 2016-06-20 10:05:17 -0700 |
commit | 623a2f859ff66f5b4f7e1bcb42d28509b66a02e2 (patch) | |
tree | 742743b788c7027e3901b726a58b9ead6de0fa45 /OpenSim | |
parent | Removed a couple of verbose messages (diff) | |
download | opensim-SC-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.zip opensim-SC-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.tar.gz opensim-SC-623a2f859ff66f5b4f7e1bcb42d28509b66a02e2.tar.bz2 opensim-SC-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 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 |
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 | }); |