diff options
Diffstat (limited to '')
6 files changed, 20 insertions, 9 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 3b7923e..e4f28db 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -3356,7 +3356,7 @@ namespace OpenSim.Region.ClientStack | |||
3356 | handlerLinkObjects = OnLinkObjects; | 3356 | handlerLinkObjects = OnLinkObjects; |
3357 | if (handlerLinkObjects != null) | 3357 | if (handlerLinkObjects != null) |
3358 | { | 3358 | { |
3359 | handlerLinkObjects(parentprimid, childrenprims); | 3359 | handlerLinkObjects(this, parentprimid, childrenprims); |
3360 | } | 3360 | } |
3361 | break; | 3361 | break; |
3362 | case PacketType.ObjectDelink: | 3362 | case PacketType.ObjectDelink: |
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 | |||
1081 | } | 1081 | } |
1082 | 1082 | ||
1083 | /// <summary> | 1083 | /// <summary> |
1084 | /// | 1084 | /// Initial method invoked when we receive a link objects request from the client. |
1085 | /// </summary> | 1085 | /// </summary> |
1086 | /// <param name="client"></param> | ||
1086 | /// <param name="parentPrim"></param> | 1087 | /// <param name="parentPrim"></param> |
1087 | /// <param name="childPrims"></param> | 1088 | /// <param name="childPrims"></param> |
1088 | public void LinkObjects(uint parentPrim, List<uint> childPrims) | 1089 | public void LinkObjects(IClientAPI client, uint parentPrim, List<uint> childPrims) |
1089 | { | 1090 | { |
1090 | List<EntityBase> EntityList = GetEntities(); | 1091 | List<EntityBase> EntityList = GetEntities(); |
1091 | 1092 | ||
@@ -1124,6 +1125,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
1124 | { | 1125 | { |
1125 | parenPrim.LinkToGroup(sceneObj); | 1126 | parenPrim.LinkToGroup(sceneObj); |
1126 | } | 1127 | } |
1128 | |||
1129 | // We need to explicitly resend the newly link prim's object properties since no other actions | ||
1130 | // occur on link to invoke this elsewhere (such as object selection) | ||
1131 | parenPrim.GetProperties(client); | ||
1127 | } | 1132 | } |
1128 | 1133 | ||
1129 | /// <summary> | 1134 | /// <summary> |
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 | |||
547 | /// <param name="remoteClient"></param> | 547 | /// <param name="remoteClient"></param> |
548 | /// <param name="primLocalID"></param> | 548 | /// <param name="primLocalID"></param> |
549 | public void RequestTaskInventory(IClientAPI remoteClient, uint primLocalID) | 549 | public void RequestTaskInventory(IClientAPI remoteClient, uint primLocalID) |
550 | { | 550 | { |
551 | SceneObjectGroup group = GetGroupByPrim(primLocalID); | 551 | SceneObjectGroup group = GetGroupByPrim(primLocalID); |
552 | if (group != null) | 552 | if (group != null) |
553 | { | 553 | { |
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 | |||
69 | } | 69 | } |
70 | 70 | ||
71 | /// <summary> | 71 | /// <summary> |
72 | /// | 72 | /// Invoked when the client selects a prim. |
73 | /// </summary> | 73 | /// </summary> |
74 | /// <param name="primLocalID"></param> | 74 | /// <param name="primLocalID"></param> |
75 | /// <param name="remoteClient"></param> | 75 | /// <param name="remoteClient"></param> |
@@ -80,8 +80,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
80 | foreach (EntityBase ent in EntitieList) | 80 | foreach (EntityBase ent in EntitieList) |
81 | { | 81 | { |
82 | if (ent is SceneObjectGroup) | 82 | if (ent is SceneObjectGroup) |
83 | { | 83 | { |
84 | |||
85 | if (((SceneObjectGroup) ent).LocalId == primLocalID) | 84 | if (((SceneObjectGroup) ent).LocalId == primLocalID) |
86 | { | 85 | { |
87 | // A prim is only tainted if it's allowed to be edited by the person clicking it. | 86 | // 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 | |||
399 | /// <param name="client"></param> | 399 | /// <param name="client"></param> |
400 | /// <param name="localID"></param> | 400 | /// <param name="localID"></param> |
401 | public bool GetInventoryFileName(IClientAPI client, uint localID) | 401 | public bool GetInventoryFileName(IClientAPI client, uint localID) |
402 | { | 402 | { |
403 | if (m_inventorySerial > 0) | 403 | if (m_inventorySerial > 0) |
404 | { | 404 | { |
405 | client.SendTaskInventory(m_uuid, (short)m_inventorySerial, | 405 | 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 | |||
2150 | } | 2150 | } |
2151 | 2151 | ||
2152 | /// <summary> | 2152 | /// <summary> |
2153 | /// | 2153 | /// Sends a full update to the client |
2154 | /// </summary> | 2154 | /// </summary> |
2155 | /// <param name="remoteClient"></param> | 2155 | /// <param name="remoteClient"></param> |
2156 | /// <param name="clientFlags"></param> | ||
2156 | public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags) | 2157 | public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags) |
2157 | { | 2158 | { |
2158 | LLVector3 lPos; | 2159 | LLVector3 lPos; |
@@ -2160,6 +2161,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
2160 | SendFullUpdateToClient(remoteClient, lPos, clientflags); | 2161 | SendFullUpdateToClient(remoteClient, lPos, clientflags); |
2161 | } | 2162 | } |
2162 | 2163 | ||
2164 | /// <summary> | ||
2165 | /// Sends a full update to the client | ||
2166 | /// </summary> | ||
2167 | /// <param name="remoteClient"></param> | ||
2168 | /// <param name="lPos"></param> | ||
2169 | /// <param name="clientFlags"></param> | ||
2163 | public void SendFullUpdateToClient(IClientAPI remoteClient, LLVector3 lPos, uint clientFlags) | 2170 | public void SendFullUpdateToClient(IClientAPI remoteClient, LLVector3 lPos, uint clientFlags) |
2164 | { | 2171 | { |
2165 | LLQuaternion lRot; | 2172 | LLQuaternion lRot; |