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/Region/Framework/Scenes/Scene.Inventory.cs | |
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/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 15 |
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 | ||