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.

LSLKeyTest
Diva Canto 2016-06-20 10:05:17 -07:00
parent ff65248b9c
commit 623a2f859f
2 changed files with 10 additions and 7 deletions

View File

@ -2729,7 +2729,7 @@ namespace OpenSim.Region.Framework.Scenes
child.TriggerScriptChangedEvent(Changed.OWNER); child.TriggerScriptChangedEvent(Changed.OWNER);
} }
} }
else else // The object was deeded to the group
{ {
if (!Permissions.IsGod(remoteClient.AgentId) && sog.OwnerID != remoteClient.AgentId) if (!Permissions.IsGod(remoteClient.AgentId) && sog.OwnerID != remoteClient.AgentId)
continue; continue;
@ -2740,17 +2740,20 @@ namespace OpenSim.Region.Framework.Scenes
if (sog.GroupID != groupID) if (sog.GroupID != groupID)
continue; continue;
SceneObjectPart[] partList = sog.Parts; sog.SetOwnerId(groupID);
// Make the group mask be the previous owner mask
sog.RootPart.GroupMask = sog.RootPart.OwnerMask;
sog.ScheduleGroupForFullUpdate();
SceneObjectPart[] partList = sog.Parts;
foreach (SceneObjectPart child in partList) foreach (SceneObjectPart child in partList)
{ {
child.LastOwnerID = child.OwnerID;
child.Inventory.ChangeInventoryOwner(groupID); child.Inventory.ChangeInventoryOwner(groupID);
child.TriggerScriptChangedEvent(Changed.OWNER); child.TriggerScriptChangedEvent(Changed.OWNER);
} }
sog.SetOwnerId(groupID);
sog.ApplyNextOwnerPermissions();
} }
} }

View File

@ -2125,7 +2125,7 @@ namespace OpenSim.Region.Framework.Scenes
{ {
ForEachPart(delegate(SceneObjectPart part) ForEachPart(delegate(SceneObjectPart part)
{ {
part.LastOwnerID = part.OwnerID;
part.OwnerID = userId; part.OwnerID = userId;
}); });