aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/IClientAPI.cs7
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs36
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs20
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs35
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs2
-rw-r--r--OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs17
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs7
-rwxr-xr-xOpenSim/Region/Framework/Scenes/Scene.cs14
-rw-r--r--OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs2
-rw-r--r--OpenSim/Region/OptionalModules/DataSnapshot/ObjectSnapshot.cs3
10 files changed, 95 insertions, 48 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 9bf51f8..018f194 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -47,9 +47,10 @@ namespace OpenSim.Framework
47 47
48 public delegate void ImprovedInstantMessage(IClientAPI remoteclient, GridInstantMessage im); 48 public delegate void ImprovedInstantMessage(IClientAPI remoteclient, GridInstantMessage im);
49 49
50 public delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 50 public delegate void RezObject(IClientAPI remoteClient, UUID itemID, UUID GroupID,
51 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 51 Vector3 RayEnd, Vector3 RayStart,
52 bool RezSelected, bool RemoveItem, UUID fromTaskID); 52 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
53 bool RezSelected, bool RemoveItem, UUID fromTaskID);
53 54
54 public delegate void RezRestoreToWorld(IClientAPI remoteClient, UUID itemId); 55 public delegate void RezRestoreToWorld(IClientAPI remoteClient, UUID itemId);
55 public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); 56 public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 088cd4c..e3b2fd1 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -5805,9 +5805,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5805 5805
5806 public ulong GetGroupPowers(UUID groupID) 5806 public ulong GetGroupPowers(UUID groupID)
5807 { 5807 {
5808 if (groupID == ActiveGroupId)
5809 return ActiveGroupPowers;
5810
5811 lock(m_groupPowers) 5808 lock(m_groupPowers)
5812 { 5809 {
5813 if (m_groupPowers.ContainsKey(groupID)) 5810 if (m_groupPowers.ContainsKey(groupID))
@@ -6729,11 +6726,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6729 RezObject handlerRezObject = OnRezObject; 6726 RezObject handlerRezObject = OnRezObject;
6730 if (handlerRezObject != null) 6727 if (handlerRezObject != null)
6731 { 6728 {
6732 handlerRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd, 6729 UUID rezGroupID = rezPacket.AgentData.GroupID;
6733 rezPacket.RezData.RayStart, rezPacket.RezData.RayTargetID, 6730 if(!IsGroupMember(rezGroupID))
6734 rezPacket.RezData.BypassRaycast, rezPacket.RezData.RayEndIsIntersection, 6731 rezGroupID = UUID.Zero;
6735 rezPacket.RezData.RezSelected, rezPacket.RezData.RemoveItem, 6732 handlerRezObject(this, rezPacket.InventoryData.ItemID, rezGroupID, rezPacket.RezData.RayEnd,
6736 rezPacket.RezData.FromTaskID); 6733 rezPacket.RezData.RayStart, rezPacket.RezData.RayTargetID,
6734 rezPacket.RezData.BypassRaycast, rezPacket.RezData.RayEndIsIntersection,
6735 rezPacket.RezData.RezSelected, rezPacket.RezData.RemoveItem,
6736 rezPacket.RezData.FromTaskID);
6737 } 6737 }
6738 return true; 6738 return true;
6739 } 6739 }
@@ -7644,9 +7644,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7644 handlerObjectDuplicate = OnObjectDuplicate; 7644 handlerObjectDuplicate = OnObjectDuplicate;
7645 if (handlerObjectDuplicate != null) 7645 if (handlerObjectDuplicate != null)
7646 { 7646 {
7647 UUID rezGroupID = dupe.AgentData.GroupID;
7648 if(!IsGroupMember(rezGroupID))
7649 rezGroupID = UUID.Zero;
7647 handlerObjectDuplicate(dupe.ObjectData[i].ObjectLocalID, dupe.SharedData.Offset, 7650 handlerObjectDuplicate(dupe.ObjectData[i].ObjectLocalID, dupe.SharedData.Offset,
7648 dupe.SharedData.DuplicateFlags, AgentId, 7651 dupe.SharedData.DuplicateFlags, AgentId,
7649 dupe.AgentData.GroupID); 7652 rezGroupID);
7650 } 7653 }
7651 } 7654 }
7652 7655
@@ -8266,10 +8269,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8266 handlerObjectDuplicateOnRay = OnObjectDuplicateOnRay; 8269 handlerObjectDuplicateOnRay = OnObjectDuplicateOnRay;
8267 if (handlerObjectDuplicateOnRay != null) 8270 if (handlerObjectDuplicateOnRay != null)
8268 { 8271 {
8269 handlerObjectDuplicateOnRay(dupeOnRay.ObjectData[i].ObjectLocalID, dupeOnRay.AgentData.DuplicateFlags, 8272
8270 AgentId, dupeOnRay.AgentData.GroupID, dupeOnRay.AgentData.RayTargetID, dupeOnRay.AgentData.RayEnd, 8273 UUID rezGroupID = dupeOnRay.AgentData.GroupID;
8271 dupeOnRay.AgentData.RayStart, dupeOnRay.AgentData.BypassRaycast, dupeOnRay.AgentData.RayEndIsIntersection, 8274 if(!IsGroupMember(rezGroupID))
8272 dupeOnRay.AgentData.CopyCenters, dupeOnRay.AgentData.CopyRotates); 8275 rezGroupID = UUID.Zero;
8276
8277 handlerObjectDuplicateOnRay(dupeOnRay.ObjectData[i].ObjectLocalID,
8278 dupeOnRay.AgentData.DuplicateFlags, AgentId, rezGroupID,
8279 dupeOnRay.AgentData.RayTargetID, dupeOnRay.AgentData.RayEnd,
8280 dupeOnRay.AgentData.RayStart, dupeOnRay.AgentData.BypassRaycast,
8281 dupeOnRay.AgentData.RayEndIsIntersection,
8282 dupeOnRay.AgentData.CopyCenters, dupeOnRay.AgentData.CopyRotates);
8273 } 8283 }
8274 } 8284 }
8275 8285
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
index 4119f90..4d7c25b 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
@@ -306,9 +306,21 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
306 /// 306 ///
307 /// RezObject 307 /// RezObject
308 /// 308 ///
309 public override SceneObjectGroup RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 309 // compatibility do not use
310 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 310 public override SceneObjectGroup RezObject(
311 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment) 311 IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
312 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
313 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
314 {
315 return RezObject(remoteClient, itemID, UUID.Zero, RayEnd, RayStart,
316 RayTargetID, BypassRayCast, RayEndIsIntersection,
317 RezSelected, RemoveItem, fromTaskID, attachment);
318 }
319
320 public override SceneObjectGroup RezObject(IClientAPI remoteClient, UUID itemID,
321 UUID groupID, Vector3 RayEnd, Vector3 RayStart,
322 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
323 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
312 { 324 {
313 m_log.DebugFormat("[HGScene]: RezObject itemID={0} fromTaskID={1}", itemID, fromTaskID); 325 m_log.DebugFormat("[HGScene]: RezObject itemID={0} fromTaskID={1}", itemID, fromTaskID);
314 326
@@ -331,7 +343,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
331 //} 343 //}
332 344
333 // OK, we're done fetching. Pass it up to the default RezObject 345 // OK, we're done fetching. Pass it up to the default RezObject
334 SceneObjectGroup sog = base.RezObject(remoteClient, itemID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection, 346 SceneObjectGroup sog = base.RezObject(remoteClient, itemID, groupID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
335 RezSelected, RemoveItem, fromTaskID, attachment); 347 RezSelected, RemoveItem, fromTaskID, attachment);
336 348
337 return sog; 349 return sog;
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 8c560e5..00e2670 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -818,12 +818,22 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
818 818
819 return item; 819 return item;
820 } 820 }
821 821 // compatibility do not use
822 public virtual SceneObjectGroup RezObject( 822 public virtual SceneObjectGroup RezObject(
823 IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 823 IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
824 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 824 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
825 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment) 825 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
826 { 826 {
827 return RezObject(remoteClient, itemID, UUID.Zero, RayEnd, RayStart,
828 RayTargetID, BypassRayCast, RayEndIsIntersection,
829 RezSelected, RemoveItem, fromTaskID, attachment);
830 }
831
832 public virtual SceneObjectGroup RezObject(
833 IClientAPI remoteClient, UUID itemID, UUID rezGroupID, Vector3 RayEnd, Vector3 RayStart,
834 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
835 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
836 {
827// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID); 837// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
828 InventoryItemBase item = m_Scene.InventoryService.GetItem(remoteClient.AgentId, itemID); 838 InventoryItemBase item = m_Scene.InventoryService.GetItem(remoteClient.AgentId, itemID);
829 839
@@ -835,16 +845,28 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
835 item.Owner = remoteClient.AgentId; 845 item.Owner = remoteClient.AgentId;
836 846
837 return RezObject( 847 return RezObject(
838 remoteClient, item, item.AssetID, 848 remoteClient, item, rezGroupID, item.AssetID,
839 RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection, 849 RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
840 RezSelected, RemoveItem, fromTaskID, attachment); 850 RezSelected, RemoveItem, fromTaskID, attachment);
841 } 851 }
842 852 // compatility
843 public virtual SceneObjectGroup RezObject( 853 public virtual SceneObjectGroup RezObject(
844 IClientAPI remoteClient, InventoryItemBase item, UUID assetID, Vector3 RayEnd, Vector3 RayStart, 854 IClientAPI remoteClient, InventoryItemBase item, UUID assetID, Vector3 RayEnd, Vector3 RayStart,
845 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 855 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
846 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment) 856 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
847 { 857 {
858 return RezObject(remoteClient, item, UUID.Zero, assetID,
859 RayEnd, RayStart, RayTargetID,
860 BypassRayCast, RayEndIsIntersection,
861 RezSelected, RemoveItem, fromTaskID, attachment);
862 }
863
864 public virtual SceneObjectGroup RezObject(
865 IClientAPI remoteClient, InventoryItemBase item, UUID groupID, UUID assetID,
866 Vector3 RayEnd, Vector3 RayStart, UUID RayTargetID,
867 byte BypassRayCast, bool RayEndIsIntersection,
868 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
869 {
848 AssetBase rezAsset = m_Scene.AssetService.Get(assetID.ToString()); 870 AssetBase rezAsset = m_Scene.AssetService.Get(assetID.ToString());
849 871
850 if (rezAsset == null) 872 if (rezAsset == null)
@@ -986,6 +1008,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
986 group.IsAttachment = true; 1008 group.IsAttachment = true;
987 } 1009 }
988 1010
1011 group.SetGroup(groupID, remoteClient);
1012
989 // If we're rezzing an attachment then don't ask 1013 // If we're rezzing an attachment then don't ask
990 // AddNewSceneObject() to update the client since 1014 // AddNewSceneObject() to update the client since
991 // we'll be doing that later on. Scheduling more than 1015 // we'll be doing that later on. Scheduling more than
@@ -995,12 +1019,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
995 m_Scene.AddNewSceneObject(group, true, false); 1019 m_Scene.AddNewSceneObject(group, true, false);
996 1020
997 if (!attachment) 1021 if (!attachment)
1022 {
998 group.AbsolutePosition = pos + veclist[i]; 1023 group.AbsolutePosition = pos + veclist[i];
999 1024
1000 group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
1001
1002 if (!attachment)
1003 {
1004 // Fire on_rez 1025 // Fire on_rez
1005 group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1); 1026 group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1);
1006 rootPart.ParentGroup.ResumeScripts(); 1027 rootPart.ParentGroup.ResumeScripts();
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs
index 172b864..b31d4df 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs
@@ -166,7 +166,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess.Tests
166 166
167 SceneObjectGroup so 167 SceneObjectGroup so
168 = m_iam.RezObject( 168 = m_iam.RezObject(
169 m_tc, item1Id, Vector3.Zero, Vector3.Zero, UUID.Zero, 1, false, false, false, UUID.Zero, false); 169 m_tc, item1Id, UUID.Zero, Vector3.Zero, Vector3.Zero, UUID.Zero, 1, false, false, false, UUID.Zero, false);
170 170
171 Assert.That(so, Is.Not.Null); 171 Assert.That(so, Is.Not.Null);
172 172
diff --git a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
index 6bad018..292b0d6 100644
--- a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
@@ -70,6 +70,7 @@ namespace OpenSim.Region.Framework.Interfaces
70 /// </remarks> 70 /// </remarks>
71 /// <param name="remoteClient"></param> 71 /// <param name="remoteClient"></param>
72 /// <param name="itemID"></param> 72 /// <param name="itemID"></param>
73 /// <param name="rezGroupID"></param>
73 /// <param name="RayEnd"></param> 74 /// <param name="RayEnd"></param>
74 /// <param name="RayStart"></param> 75 /// <param name="RayStart"></param>
75 /// <param name="RayTargetID"></param> 76 /// <param name="RayTargetID"></param>
@@ -81,6 +82,11 @@ namespace OpenSim.Region.Framework.Interfaces
81 /// <param name="attachment"></param> 82 /// <param name="attachment"></param>
82 /// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns> 83 /// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns>
83 SceneObjectGroup RezObject( 84 SceneObjectGroup RezObject(
85 IClientAPI remoteClient, UUID itemID, UUID rezGroupID, Vector3 RayEnd, Vector3 RayStart,
86 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
87 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
88 // compatibily do not use
89 SceneObjectGroup RezObject(
84 IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 90 IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
85 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 91 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
86 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment); 92 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
@@ -97,6 +103,7 @@ namespace OpenSim.Region.Framework.Interfaces
97 /// The item from which the object asset came. Can be null, in which case pre and post rez item adjustment and checks are not performed. 103 /// The item from which the object asset came. Can be null, in which case pre and post rez item adjustment and checks are not performed.
98 /// </param> 104 /// </param>
99 /// <param name="assetID">The asset id for the object to rez.</param> 105 /// <param name="assetID">The asset id for the object to rez.</param>
106 /// <param name="rezObjectID">The requested group id for the object to rez.</param>
100 /// <param name="RayEnd"></param> 107 /// <param name="RayEnd"></param>
101 /// <param name="RayStart"></param> 108 /// <param name="RayStart"></param>
102 /// <param name="RayTargetID"></param> 109 /// <param name="RayTargetID"></param>
@@ -107,8 +114,16 @@ namespace OpenSim.Region.Framework.Interfaces
107 /// <param name="fromTaskID"></param> 114 /// <param name="fromTaskID"></param>
108 /// <param name="attachment"></param> 115 /// <param name="attachment"></param>
109 /// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns> 116 /// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns>
117
118 SceneObjectGroup RezObject(IClientAPI remoteClient, InventoryItemBase item, UUID rezGroupID,
119 UUID assetID, Vector3 RayEnd, Vector3 RayStart,
120 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
121 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
122
123 // compatibility do not use
110 SceneObjectGroup RezObject( 124 SceneObjectGroup RezObject(
111 IClientAPI remoteClient, InventoryItemBase item, UUID assetID, Vector3 RayEnd, Vector3 RayStart, 125 IClientAPI remoteClient, InventoryItemBase item,
126 UUID assetID, Vector3 RayEnd, Vector3 RayStart,
112 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 127 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
113 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment); 128 bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
114 129
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index f2df364..7152015 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2454,6 +2454,7 @@ namespace OpenSim.Region.Framework.Scenes
2454 /// </summary> 2454 /// </summary>
2455 /// <param name="remoteClient"></param> 2455 /// <param name="remoteClient"></param>
2456 /// <param name="itemID"></param> 2456 /// <param name="itemID"></param>
2457 /// <param name="groupID"></param>
2457 /// <param name="RayEnd"></param> 2458 /// <param name="RayEnd"></param>
2458 /// <param name="RayStart"></param> 2459 /// <param name="RayStart"></param>
2459 /// <param name="RayTargetID"></param> 2460 /// <param name="RayTargetID"></param>
@@ -2464,7 +2465,8 @@ namespace OpenSim.Region.Framework.Scenes
2464 /// <param name="RezSelected"></param> 2465 /// <param name="RezSelected"></param>
2465 /// <param name="RemoveItem"></param> 2466 /// <param name="RemoveItem"></param>
2466 /// <param name="fromTaskID"></param> 2467 /// <param name="fromTaskID"></param>
2467 public virtual void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 2468 public virtual void RezObject(IClientAPI remoteClient, UUID itemID, UUID groupID,
2469 Vector3 RayEnd, Vector3 RayStart,
2468 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 2470 UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
2469 bool RezSelected, bool RemoveItem, UUID fromTaskID) 2471 bool RezSelected, bool RemoveItem, UUID fromTaskID)
2470 { 2472 {
@@ -2504,8 +2506,7 @@ namespace OpenSim.Region.Framework.Scenes
2504 2506
2505 byte bRayEndIsIntersection = (byte)(RayEndIsIntersection ? 1 : 0); 2507 byte bRayEndIsIntersection = (byte)(RayEndIsIntersection ? 1 : 0);
2506 Vector3 scale = new Vector3(0.5f, 0.5f, 0.5f); 2508 Vector3 scale = new Vector3(0.5f, 0.5f, 0.5f);
2507 Vector3 pos 2509 Vector3 pos = GetNewRezLocation(
2508 = GetNewRezLocation(
2509 RayStart, RayEnd, RayTargetID, Quaternion.Identity, 2510 RayStart, RayEnd, RayTargetID, Quaternion.Identity,
2510 BypassRayCast, bRayEndIsIntersection, true, scale, false); 2511 BypassRayCast, bRayEndIsIntersection, true, scale, false);
2511 2512
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 00e699e..33418e6 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3115,14 +3115,9 @@ namespace OpenSim.Region.Framework.Scenes
3115 || (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0; 3115 || (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0;
3116 3116
3117 CheckHeartbeat(); 3117 CheckHeartbeat();
3118
3119 3118
3120 sp = GetScenePresence(client.AgentId); 3119 sp = GetScenePresence(client.AgentId);
3121 3120
3122 // XXX: Not sure how good it is to add a new client if a scene presence already exists. Possibly this
3123 // could occur if a viewer crashes and relogs before the old client is kicked out. But this could cause
3124 // other problems, and possibly the code calling AddNewAgent() should ensure that no client is already
3125 // connected.
3126 if (sp == null) 3121 if (sp == null)
3127 { 3122 {
3128 m_log.DebugFormat( 3123 m_log.DebugFormat(
@@ -3137,15 +3132,6 @@ namespace OpenSim.Region.Framework.Scenes
3137 3132
3138 sp.TeleportFlags = (TPFlags)aCircuit.teleportFlags; 3133 sp.TeleportFlags = (TPFlags)aCircuit.teleportFlags;
3139 3134
3140/* done in completMovement
3141 InventoryFolderBase cof = InventoryService.GetFolderForType(client.AgentId, (AssetType)46);
3142 if (cof == null)
3143 sp.COF = UUID.Zero;
3144 else
3145 sp.COF = cof.ID;
3146
3147 m_log.DebugFormat("[SCENE]: COF for {0} is {1}", client.AgentId, sp.COF);
3148 */
3149 m_eventManager.TriggerOnNewPresence(sp); 3135 m_eventManager.TriggerOnNewPresence(sp);
3150 } 3136 }
3151 else 3137 else
diff --git a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
index 75b073d..142ad84 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
@@ -171,7 +171,7 @@ namespace OpenSim.Region.Framework.Tests
171 //Assert.That((retrievedItem1.CurrentPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); 171 //Assert.That((retrievedItem1.CurrentPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All);
172 172
173 // Rez the object 173 // Rez the object
174 scene.RezObject(sp2.ControllingClient, retrievedItem1.ID, Vector3.Zero, Vector3.Zero, UUID.Zero, 0, false, false, false, UUID.Zero); 174 scene.RezObject(sp2.ControllingClient, retrievedItem1.ID, UUID.Zero, Vector3.Zero, Vector3.Zero, UUID.Zero, 0, false, false, false, UUID.Zero);
175 SceneObjectGroup sog = scene.GetSceneObjectGroup("SomeObject"); 175 SceneObjectGroup sog = scene.GetSceneObjectGroup("SomeObject");
176 Assert.That(sog, Is.Not.Null); 176 Assert.That(sog, Is.Not.Null);
177 177
diff --git a/OpenSim/Region/OptionalModules/DataSnapshot/ObjectSnapshot.cs b/OpenSim/Region/OptionalModules/DataSnapshot/ObjectSnapshot.cs
index 0bb4044..caca303 100644
--- a/OpenSim/Region/OptionalModules/DataSnapshot/ObjectSnapshot.cs
+++ b/OpenSim/Region/OptionalModules/DataSnapshot/ObjectSnapshot.cs
@@ -83,7 +83,8 @@ namespace OpenSim.Region.DataSnapshot.Providers
83 { this.Stale = true; }; 83 { this.Stale = true; };
84 client.OnObjectPermissions += delegate(IClientAPI controller, UUID agentID, UUID sessionID, 84 client.OnObjectPermissions += delegate(IClientAPI controller, UUID agentID, UUID sessionID,
85 byte field, uint localId, uint mask, byte set) { this.Stale = true; }; 85 byte field, uint localId, uint mask, byte set) { this.Stale = true; };
86 client.OnRezObject += delegate(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, 86 client.OnRezObject += delegate(IClientAPI remoteClient, UUID itemID, UUID groupID,
87 Vector3 RayEnd,
87 Vector3 RayStart, UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, 88 Vector3 RayStart, UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
88 bool RezSelected, 89 bool RezSelected,
89 bool RemoveItem, UUID fromTaskID) { this.Stale = true; }; 90 bool RemoveItem, UUID fromTaskID) { this.Stale = true; };