Fix linking issue introduced in my earlier commit

0.6.9-post-fixes
Melanie Thielker 2010-04-30 22:35:07 +02:00 committed by Melanie
parent 10750421a3
commit 0a9c98e7c4
1 changed files with 19 additions and 1 deletions

View File

@ -2594,8 +2594,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)
{ {
@ -2614,7 +2623,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);
} }