aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-04-03 13:33:46 +0000
committerJustin Clarke Casey2008-04-03 13:33:46 +0000
commit6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85 (patch)
tree7fe1ee918ce816cdf6cec7c49e186b5ac91aff48
parentpoint in time update of NHibernate Asset Mapping code (diff)
downloadopensim-SC-6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85.zip
opensim-SC-6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85.tar.gz
opensim-SC-6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85.tar.bz2
opensim-SC-6ef4f1bdae63d156f2dfad9a440ba52a9b84dc85.tar.xz
* Resolve mantis 849
* Scripts in prims within linksets can now be properly edited using the 'edit linked parts' linden ui option
-rw-r--r--OpenSim/Framework/IClientAPI.cs2
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs9
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs9
7 files changed, 21 insertions, 10 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 9dd17f9..5687e01 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -249,7 +249,7 @@ namespace OpenSim.Framework
249 249
250 public delegate void StopAnim(IClientAPI remoteClient, LLUUID animID); 250 public delegate void StopAnim(IClientAPI remoteClient, LLUUID animID);
251 251
252 public delegate void LinkObjects(uint parent, List<uint> children); 252 public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
253 253
254 public delegate void DelinkObjects(List<uint> primIds); 254 public delegate void DelinkObjects(List<uint> primIds);
255 255
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;