aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs21
1 files changed, 19 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 58de44e..01df575 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2310,8 +2310,25 @@ namespace OpenSim.Region.Framework.Scenes
2310 m_sceneGraph.DelinkObjects(parts); 2310 m_sceneGraph.DelinkObjects(parts);
2311 } 2311 }
2312 2312
2313 /// <summary>
2314 /// Link the scene objects containing the indicated parts to a root object.
2315 /// </summary>
2316 /// <param name="client"></param>
2317 /// <param name="parentPrimId">A root prim id of the object which will be the root prim of the resulting linkset.</param>
2318 /// <param name="childPrimIds">A list of child prims for the objects that should be linked in.</param>
2313 public void LinkObjects(IClientAPI client, uint parentPrimId, List<uint> childPrimIds) 2319 public void LinkObjects(IClientAPI client, uint parentPrimId, List<uint> childPrimIds)
2314 { 2320 {
2321 LinkObjects(client.AgentId, parentPrimId, childPrimIds);
2322 }
2323
2324 /// <summary>
2325 /// Link the scene objects containing the indicated parts to a root object.
2326 /// </summary>
2327 /// <param name="agentId">The ID of the user linking.</param>
2328 /// <param name="parentPrimId">A root prim id of the object which will be the root prim of the resulting linkset.</param>
2329 /// <param name="childPrimIds">A list of child prims for the objects that should be linked in.</param>
2330 public void LinkObjects(UUID agentId, uint parentPrimId, List<uint> childPrimIds)
2331 {
2315 List<UUID> owners = new List<UUID>(); 2332 List<UUID> owners = new List<UUID>();
2316 2333
2317 List<SceneObjectPart> children = new List<SceneObjectPart>(); 2334 List<SceneObjectPart> children = new List<SceneObjectPart>();
@@ -2323,7 +2340,7 @@ namespace OpenSim.Region.Framework.Scenes
2323 return; 2340 return;
2324 } 2341 }
2325 2342
2326 if (!Permissions.CanLinkObject(client.AgentId, root.ParentGroup.RootPart.UUID)) 2343 if (!Permissions.CanLinkObject(agentId, root.ParentGroup.RootPart.UUID))
2327 { 2344 {
2328 m_log.DebugFormat("[LINK]: Refusing link. No permissions on root prim"); 2345 m_log.DebugFormat("[LINK]: Refusing link. No permissions on root prim");
2329 return; 2346 return;
@@ -2339,7 +2356,7 @@ namespace OpenSim.Region.Framework.Scenes
2339 if (!owners.Contains(part.OwnerID)) 2356 if (!owners.Contains(part.OwnerID))
2340 owners.Add(part.OwnerID); 2357 owners.Add(part.OwnerID);
2341 2358
2342 if (Permissions.CanLinkObject(client.AgentId, part.ParentGroup.RootPart.UUID)) 2359 if (Permissions.CanLinkObject(agentId, part.ParentGroup.RootPart.UUID))
2343 children.Add(part); 2360 children.Add(part);
2344 } 2361 }
2345 2362