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') 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