* Resolve mantis 849

* Scripts in prims within linksets can now be properly edited using the 'edit linked parts' linden ui option
0.6.0-stable
Justin Clarke Casey 2008-04-03 13:33:46 +00:00
parent fe14d65f07
commit 6ef4f1bdae
7 changed files with 21 additions and 10 deletions

View File

@ -249,7 +249,7 @@ namespace OpenSim.Framework
public delegate void StopAnim(IClientAPI remoteClient, LLUUID animID);
public delegate void LinkObjects(uint parent, List<uint> children);
public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
public delegate void DelinkObjects(List<uint> primIds);

View File

@ -3356,7 +3356,7 @@ namespace OpenSim.Region.ClientStack
handlerLinkObjects = OnLinkObjects;
if (handlerLinkObjects != null)
{
handlerLinkObjects(parentprimid, childrenprims);
handlerLinkObjects(this, parentprimid, childrenprims);
}
break;
case PacketType.ObjectDelink:

View File

@ -1081,11 +1081,12 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
///
/// Initial method invoked when we receive a link objects request from the client.
/// </summary>
/// <param name="client"></param>
/// <param name="parentPrim"></param>
/// <param name="childPrims"></param>
public void LinkObjects(uint parentPrim, List<uint> childPrims)
public void LinkObjects(IClientAPI client, uint parentPrim, List<uint> childPrims)
{
List<EntityBase> 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);
}
/// <summary>

View File

@ -547,7 +547,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="remoteClient"></param>
/// <param name="primLocalID"></param>
public void RequestTaskInventory(IClientAPI remoteClient, uint primLocalID)
{
{
SceneObjectGroup group = GetGroupByPrim(primLocalID);
if (group != null)
{

View File

@ -69,7 +69,7 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
///
/// Invoked when the client selects a prim.
/// </summary>
/// <param name="primLocalID"></param>
/// <param name="remoteClient"></param>
@ -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.

View File

@ -399,7 +399,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="client"></param>
/// <param name="localID"></param>
public bool GetInventoryFileName(IClientAPI client, uint localID)
{
{
if (m_inventorySerial > 0)
{
client.SendTaskInventory(m_uuid, (short)m_inventorySerial,

View File

@ -2150,9 +2150,10 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
///
/// Sends a full update to the client
/// </summary>
/// <param name="remoteClient"></param>
/// <param name="clientFlags"></param>
public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags)
{
LLVector3 lPos;
@ -2160,6 +2161,12 @@ namespace OpenSim.Region.Environment.Scenes
SendFullUpdateToClient(remoteClient, lPos, clientflags);
}
/// <summary>
/// Sends a full update to the client
/// </summary>
/// <param name="remoteClient"></param>
/// <param name="lPos"></param>
/// <param name="clientFlags"></param>
public void SendFullUpdateToClient(IClientAPI remoteClient, LLVector3 lPos, uint clientFlags)
{
LLQuaternion lRot;