Fix scripted detach of temp attachments
parent
0a959343a5
commit
f71ed7eb79
|
@ -526,10 +526,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so)
|
public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so)
|
||||||
{
|
{
|
||||||
// As per Linden spec, detach (take) is disabled for temp attachs
|
|
||||||
if (so.FromItemID == UUID.Zero)
|
|
||||||
return;
|
|
||||||
|
|
||||||
lock (sp.AttachmentsSyncLock)
|
lock (sp.AttachmentsSyncLock)
|
||||||
{
|
{
|
||||||
// Save avatar attachment information
|
// Save avatar attachment information
|
||||||
|
@ -1050,7 +1046,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId);
|
||||||
SceneObjectGroup group = m_scene.GetGroupByPrim(objectLocalID);
|
SceneObjectGroup group = m_scene.GetGroupByPrim(objectLocalID);
|
||||||
|
|
||||||
if (sp != null && group != null)
|
if (sp != null && group != null && group.FromItemID != UUID.Zero)
|
||||||
DetachSingleAttachmentToInv(sp, group);
|
DetachSingleAttachmentToInv(sp, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1068,7 +1064,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
|
|
||||||
foreach (SceneObjectGroup group in attachments)
|
foreach (SceneObjectGroup group in attachments)
|
||||||
{
|
{
|
||||||
if (group.FromItemID == itemID)
|
if (group.FromItemID == itemID && group.FromItemID != UUID.Zero)
|
||||||
{
|
{
|
||||||
DetachSingleAttachmentToInv(sp, group);
|
DetachSingleAttachmentToInv(sp, group);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue