Set group on newly rezzed objects to the rezzer's (or rezzing object's)
group0.6.1-post-fixes
parent
93b18d7323
commit
a8e40bed52
|
@ -2031,6 +2031,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values);
|
List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values);
|
||||||
|
|
||||||
|
group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
|
||||||
if (rootPart.OwnerID != item.Owner)
|
if (rootPart.OwnerID != item.Owner)
|
||||||
{
|
{
|
||||||
//Need to kill the for sale here
|
//Need to kill the for sale here
|
||||||
|
@ -2148,6 +2149,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values);
|
List<SceneObjectPart> partList = new List<SceneObjectPart>(group.Children.Values);
|
||||||
|
|
||||||
|
group.SetGroup(sourcePart.GroupID, null);
|
||||||
|
|
||||||
if (rootPart.OwnerID != item.OwnerID)
|
if (rootPart.OwnerID != item.OwnerID)
|
||||||
{
|
{
|
||||||
if (ExternalChecks.ExternalChecksPropagatePermissions())
|
if (ExternalChecks.ExternalChecksPropagatePermissions())
|
||||||
|
|
|
@ -2825,6 +2825,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
foreach (SceneObjectPart part in m_parts.Values)
|
foreach (SceneObjectPart part in m_parts.Values)
|
||||||
{
|
{
|
||||||
part.SetGroup(GroupID, client);
|
part.SetGroup(GroupID, client);
|
||||||
|
part.ChangeInventoryGroup(GroupID);
|
||||||
}
|
}
|
||||||
|
|
||||||
HasGroupChanged = true;
|
HasGroupChanged = true;
|
||||||
|
|
|
@ -123,6 +123,28 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ChangeInventoryGroup(UUID groupID)
|
||||||
|
{
|
||||||
|
lock (TaskInventory)
|
||||||
|
{
|
||||||
|
if (0 == TaskInventory.Count)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
HasInventoryChanged = true;
|
||||||
|
ParentGroup.HasGroupChanged = true;
|
||||||
|
IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values);
|
||||||
|
foreach (TaskInventoryItem item in items)
|
||||||
|
{
|
||||||
|
if (groupID != item.GroupID)
|
||||||
|
{
|
||||||
|
item.GroupID = groupID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Start all the scripts contained in this prim's inventory
|
/// Start all the scripts contained in this prim's inventory
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -2304,7 +2304,8 @@ if (m_shape != null) {
|
||||||
public void SetGroup(UUID groupID, IClientAPI client)
|
public void SetGroup(UUID groupID, IClientAPI client)
|
||||||
{
|
{
|
||||||
_groupID = groupID;
|
_groupID = groupID;
|
||||||
GetProperties(client);
|
if (client != null)
|
||||||
|
GetProperties(client);
|
||||||
m_updateFlag = 2;
|
m_updateFlag = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue