Fix linking issue introduced in my earlier commit

avinationmerge
Melanie Thielker 2010-04-30 22:35:07 +02:00
parent 486ab82c02
commit 3e30de7430
1 changed files with 19 additions and 1 deletions

View File

@ -1970,8 +1970,17 @@ namespace OpenSim.Region.Framework.Scenes
List<SceneObjectPart> children = new List<SceneObjectPart>(); List<SceneObjectPart> children = new List<SceneObjectPart>();
SceneObjectPart root = GetSceneObjectPart(parentPrimId); SceneObjectPart root = GetSceneObjectPart(parentPrimId);
if (Permissions.CanLinkObject(client.AgentId, root.ParentGroup.RootPart.UUID)) if (root == null)
{
m_log.DebugFormat("[LINK]: Can't find linkset root prim {0{", parentPrimId);
return; return;
}
if (!Permissions.CanLinkObject(client.AgentId, root.ParentGroup.RootPart.UUID))
{
m_log.DebugFormat("[LINK]: Refusing link. No permissions on root prim");
return;
}
foreach (uint localID in childPrimIds) foreach (uint localID in childPrimIds)
{ {
@ -1990,7 +1999,16 @@ namespace OpenSim.Region.Framework.Scenes
// Must be all one owner // Must be all one owner
// //
if (owners.Count > 1) if (owners.Count > 1)
{
m_log.DebugFormat("[LINK]: Refusing link. Too many owners");
return; return;
}
if (children.Count == 0)
{
m_log.DebugFormat("[LINK]: Refusing link. No permissions to link any of the children");
return;
}
m_sceneGraph.LinkObjects(root, children); m_sceneGraph.LinkObjects(root, children);
} }