Add an additional serialization call do the detach procedure. This call is

executed only for it's side effects, which are to block until attach(NULL_KEY)
completes, before commencing detachment.
avinationmerge
Melanie Thielker 2010-04-23 20:18:34 +02:00
parent 31e0704c8d
commit 56f60a04d9
1 changed files with 3 additions and 0 deletions

View File

@ -35,6 +35,7 @@ using OpenSim.Framework;
using OpenSim.Region.Framework; using OpenSim.Region.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Scenes.Serialization;
namespace OpenSim.Region.CoreModules.Avatar.Attachments namespace OpenSim.Region.CoreModules.Avatar.Attachments
{ {
@ -405,6 +406,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
if (group.GetFromItemID() == itemID) if (group.GetFromItemID() == itemID)
{ {
m_scene.EventManager.TriggerOnAttach(group.LocalId, itemID, UUID.Zero); m_scene.EventManager.TriggerOnAttach(group.LocalId, itemID, UUID.Zero);
// CM / XMREngine!!!! Needed to conclude attach event
SceneObjectSerializer.ToOriginalXmlFormat(group);
group.DetachToInventoryPrep(); group.DetachToInventoryPrep();
m_log.Debug("[ATTACHMENTS MODULE]: Saving attachpoint: " + ((uint)group.GetAttachmentPoint()).ToString()); m_log.Debug("[ATTACHMENTS MODULE]: Saving attachpoint: " + ((uint)group.GetAttachmentPoint()).ToString());
m_scene.UpdateKnownItem(remoteClient, group,group.GetFromItemID(), group.OwnerID); m_scene.UpdateKnownItem(remoteClient, group,group.GetFromItemID(), group.OwnerID);