mantis 8006: AttachmentModule triggered OnAttach by SOG xengine expects by SOP
parent
9a67c9fd78
commit
a4bf78fa19
|
@ -599,7 +599,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
// this can't be done when creating scripts:
|
// this can't be done when creating scripts:
|
||||||
// scripts do internal enqueue of attach event
|
// scripts do internal enqueue of attach event
|
||||||
// and not all scripts are loaded at this point
|
// and not all scripts are loaded at this point
|
||||||
m_scene.EventManager.TriggerOnAttach(group.LocalId, group.FromItemID, sp.UUID);
|
// m_scene.EventManager.TriggerOnAttach(group.LocalId, group.FromItemID, sp.UUID);
|
||||||
|
TriggerGroupOnAttach(group, sp.UUID);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -759,7 +760,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
sp.ControllingClient.SendRemoveInventoryItem(inventoryID);
|
sp.ControllingClient.SendRemoveInventoryItem(inventoryID);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_scene.EventManager.TriggerOnAttach(so.LocalId, so.UUID, UUID.Zero);
|
//m_scene.EventManager.TriggerOnAttach(so.LocalId, so.UUID, UUID.Zero);
|
||||||
|
TriggerGroupOnAttach(so, UUID.Zero);
|
||||||
|
|
||||||
// Attach (NULL) stops scripts. We don't want that. Resume them.
|
// Attach (NULL) stops scripts. We don't want that. Resume them.
|
||||||
so.ResumeScripts();
|
so.ResumeScripts();
|
||||||
|
@ -1056,8 +1058,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
{
|
{
|
||||||
if (fireDetachEvent)
|
if (fireDetachEvent)
|
||||||
{
|
{
|
||||||
m_scene.EventManager.TriggerOnAttach(grp.LocalId, grp.FromItemID, UUID.Zero);
|
// m_scene.EventManager.TriggerOnAttach(grp.LocalId, grp.FromItemID, UUID.Zero);
|
||||||
|
TriggerGroupOnAttach(grp, UUID.Zero);
|
||||||
// Allow detach event time to do some work before stopping the script
|
// Allow detach event time to do some work before stopping the script
|
||||||
Thread.Sleep(2);
|
Thread.Sleep(2);
|
||||||
}
|
}
|
||||||
|
@ -1383,6 +1385,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||||
DetachSingleAttachmentToGround(sp, soLocalId);
|
DetachSingleAttachmentToGround(sp, soLocalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TriggerGroupOnAttach(SceneObjectGroup grp, UUID avatarID)
|
||||||
|
{
|
||||||
|
UUID item = grp.FromItemID; // this maybe wrong but xengine ignores it
|
||||||
|
foreach(SceneObjectPart part in grp.Parts)
|
||||||
|
m_scene.EventManager.TriggerOnAttach(part.LocalId, item, avatarID);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue