From 6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Thu, 3 Apr 2008 13:33:46 +0000
Subject: * Resolve mantis 849 * Scripts in prims within linksets can now be
properly edited using the 'edit linked parts' linden ui option
---
OpenSim/Region/Environment/Scenes/InnerScene.cs | 9 +++++++--
OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 2 +-
OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 5 ++---
OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | 2 +-
OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 9 ++++++++-
5 files changed, 19 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes')
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index c009593..9a720d9 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -1081,11 +1081,12 @@ namespace OpenSim.Region.Environment.Scenes
}
///
- ///
+ /// Initial method invoked when we receive a link objects request from the client.
///
+ ///
///
///
- public void LinkObjects(uint parentPrim, List childPrims)
+ public void LinkObjects(IClientAPI client, uint parentPrim, List childPrims)
{
List EntityList = GetEntities();
@@ -1124,6 +1125,10 @@ namespace OpenSim.Region.Environment.Scenes
{
parenPrim.LinkToGroup(sceneObj);
}
+
+ // We need to explicitly resend the newly link prim's object properties since no other actions
+ // occur on link to invoke this elsewhere (such as object selection)
+ parenPrim.GetProperties(client);
}
///
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index ca17937..2b8f344 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -547,7 +547,7 @@ namespace OpenSim.Region.Environment.Scenes
///
///
public void RequestTaskInventory(IClientAPI remoteClient, uint primLocalID)
- {
+ {
SceneObjectGroup group = GetGroupByPrim(primLocalID);
if (group != null)
{
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index 869c936..ebdb0a6 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -69,7 +69,7 @@ namespace OpenSim.Region.Environment.Scenes
}
///
- ///
+ /// Invoked when the client selects a prim.
///
///
///
@@ -80,8 +80,7 @@ namespace OpenSim.Region.Environment.Scenes
foreach (EntityBase ent in EntitieList)
{
if (ent is SceneObjectGroup)
- {
-
+ {
if (((SceneObjectGroup) ent).LocalId == primLocalID)
{
// A prim is only tainted if it's allowed to be edited by the person clicking it.
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
index a73bb76..0879357 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
@@ -399,7 +399,7 @@ namespace OpenSim.Region.Environment.Scenes
///
///
public bool GetInventoryFileName(IClientAPI client, uint localID)
- {
+ {
if (m_inventorySerial > 0)
{
client.SendTaskInventory(m_uuid, (short)m_inventorySerial,
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 5e49314..b42375f 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2150,9 +2150,10 @@ namespace OpenSim.Region.Environment.Scenes
}
///
- ///
+ /// Sends a full update to the client
///
///
+ ///
public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags)
{
LLVector3 lPos;
@@ -2160,6 +2161,12 @@ namespace OpenSim.Region.Environment.Scenes
SendFullUpdateToClient(remoteClient, lPos, clientflags);
}
+ ///
+ /// Sends a full update to the client
+ ///
+ ///
+ ///
+ ///
public void SendFullUpdateToClient(IClientAPI remoteClient, LLVector3 lPos, uint clientFlags)
{
LLQuaternion lRot;
--
cgit v1.1