aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs11
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs2
-rw-r--r--OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs22
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs2
4 files changed, 14 insertions, 23 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 90092ce..a854c11 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -80,7 +80,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
80 client.OnRezMultipleAttachmentsFromInv += RezMultipleAttachmentsFromInventory; 80 client.OnRezMultipleAttachmentsFromInv += RezMultipleAttachmentsFromInventory;
81 client.OnObjectAttach += AttachObject; 81 client.OnObjectAttach += AttachObject;
82 client.OnObjectDetach += DetachObject; 82 client.OnObjectDetach += DetachObject;
83 client.OnDetachAttachmentIntoInv += ShowDetachInUserInventory; 83 client.OnDetachAttachmentIntoInv += DetachSingleAttachmentToInv;
84 } 84 }
85 85
86 public void UnsubscribeFromClientEvents(IClientAPI client) 86 public void UnsubscribeFromClientEvents(IClientAPI client)
@@ -89,7 +89,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
89 client.OnRezMultipleAttachmentsFromInv -= RezMultipleAttachmentsFromInventory; 89 client.OnRezMultipleAttachmentsFromInv -= RezMultipleAttachmentsFromInventory;
90 client.OnObjectAttach -= AttachObject; 90 client.OnObjectAttach -= AttachObject;
91 client.OnObjectDetach -= DetachObject; 91 client.OnObjectDetach -= DetachObject;
92 client.OnDetachAttachmentIntoInv -= ShowDetachInUserInventory; 92 client.OnDetachAttachmentIntoInv -= DetachSingleAttachmentToInv;
93 } 93 }
94 94
95 /// <summary> 95 /// <summary>
@@ -269,7 +269,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
269 if (updateInventoryStatus) 269 if (updateInventoryStatus)
270 { 270 {
271 if (att == null) 271 if (att == null)
272 ShowDetachInUserInventory(itemID, sp.ControllingClient); 272 DetachSingleAttachmentToInv(itemID, sp.ControllingClient);
273 else 273 else
274 ShowAttachInUserInventory(att, sp, itemID, AttachmentPt); 274 ShowAttachInUserInventory(att, sp, itemID, AttachmentPt);
275 } 275 }
@@ -417,12 +417,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
417 SceneObjectGroup group = m_scene.GetGroupByPrim(objectLocalID); 417 SceneObjectGroup group = m_scene.GetGroupByPrim(objectLocalID);
418 if (group != null) 418 if (group != null)
419 { 419 {
420 //group.DetachToGround(); 420 DetachSingleAttachmentToInv(group.GetFromItemID(), remoteClient);
421 ShowDetachInUserInventory(group.GetFromItemID(), remoteClient);
422 } 421 }
423 } 422 }
424 423
425 public void ShowDetachInUserInventory(UUID itemID, IClientAPI remoteClient) 424 public void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient)
426 { 425 {
427 ScenePresence presence; 426 ScenePresence presence;
428 if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence)) 427 if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence))
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
index 6f242e5..6695a9d 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
@@ -130,7 +130,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
130 130
131 m_attMod.RezSingleAttachmentFromInventory( 131 m_attMod.RezSingleAttachmentFromInventory(
132 presence.ControllingClient, attItemId, (uint)AttachmentPoint.Chest); 132 presence.ControllingClient, attItemId, (uint)AttachmentPoint.Chest);
133 m_attMod.ShowDetachInUserInventory(attItemId, presence.ControllingClient); 133 m_attMod.DetachSingleAttachmentToInv(attItemId, presence.ControllingClient);
134 134
135 // Check status on scene presence 135 // Check status on scene presence
136 Assert.That(presence.HasAttachments(), Is.False); 136 Assert.That(presence.HasAttachments(), Is.False);
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index e012885..0c82411 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -47,7 +47,7 @@ namespace OpenSim.Region.Framework.Interfaces
47 IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); 47 IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent);
48 48
49 /// <summary> 49 /// <summary>
50 /// Attach an object to an avatar. 50 /// Attach an object to an avatar
51 /// </summary> 51 /// </summary>
52 /// <param name="remoteClient"></param> 52 /// <param name="remoteClient"></param>
53 /// <param name="grp"></param> 53 /// <param name="grp"></param>
@@ -110,11 +110,11 @@ namespace OpenSim.Region.Framework.Interfaces
110 void DetachSingleAttachmentToGround(UUID itemID, IClientAPI remoteClient); 110 void DetachSingleAttachmentToGround(UUID itemID, IClientAPI remoteClient);
111 111
112 /// <summary> 112 /// <summary>
113 /// Update the user inventory to show a detach. 113 /// Detach the given item so that it remains in the user's inventory.
114 /// </summary> 114 /// </summary>
115 /// <param name="itemID">/param> 115 /// <param name="itemID">/param>
116 /// <param name="remoteClient"></param> 116 /// <param name="remoteClient"></param>
117 void ShowDetachInUserInventory(UUID itemID, IClientAPI remoteClient); 117 void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient);
118 118
119 /// <summary> 119 /// <summary>
120 /// Update the position of an attachment. 120 /// Update the position of an attachment.
@@ -126,18 +126,10 @@ namespace OpenSim.Region.Framework.Interfaces
126 /// <summary> 126 /// <summary>
127 /// Update the user inventory with a changed attachment 127 /// Update the user inventory with a changed attachment
128 /// </summary> 128 /// </summary>
129 /// <param name="remoteClient"> 129 /// <param name="remoteClient"></param>
130 /// A <see cref="IClientAPI"/> 130 /// <param name="grp"></param>
131 /// </param> 131 /// <param name="itemID"></param>
132 /// <param name="grp"> 132 /// <param name="agentID"></param>
133 /// A <see cref="SceneObjectGroup"/>
134 /// </param>
135 /// <param name="itemID">
136 /// A <see cref="UUID"/>
137 /// </param>
138 /// <param name="agentID">
139 /// A <see cref="UUID"/>
140 /// </param>
141 void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID); 133 void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID);
142 } 134 }
143} 135}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 24be7d4..ffa0e24 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3031,7 +3031,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3031 3031
3032 IAttachmentsModule attachmentsModule = m_ScriptEngine.World.AttachmentsModule; 3032 IAttachmentsModule attachmentsModule = m_ScriptEngine.World.AttachmentsModule;
3033 if (attachmentsModule != null) 3033 if (attachmentsModule != null)
3034 attachmentsModule.ShowDetachInUserInventory(itemID, presence.ControllingClient); 3034 attachmentsModule.DetachSingleAttachmentToInv(itemID, presence.ControllingClient);
3035 } 3035 }
3036 3036
3037 public void llTakeCamera(string avatar) 3037 public void llTakeCamera(string avatar)