mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 00:46:02 +08:00
bugg
This commit is contained in:
@@ -390,7 +390,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||
|
||||
if (sp.PresenceType != PresenceType.Npc)
|
||||
{
|
||||
m_log.DebugFormat("[ATTACHMENTS MODULE]: enter PrepareScriptInstanceForSave loop");
|
||||
foreach (SceneObjectGroup so in attachments)
|
||||
{
|
||||
// Scripts MUST be snapshotted before the object is
|
||||
@@ -400,18 +399,23 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||
// scripts performing attachment operations at the same time. Getting object states stops the scripts.
|
||||
scriptStates[so] = PrepareScriptInstanceForSave(so, false);
|
||||
}
|
||||
}
|
||||
|
||||
m_log.DebugFormat("[ATTACHMENTS MODULE]: enter UpdateDetachedObject loop");
|
||||
lock (sp.AttachmentsSyncLock)
|
||||
lock (sp.AttachmentsSyncLock)
|
||||
{
|
||||
foreach (SceneObjectGroup so in attachments)
|
||||
UpdateDetachedObject(sp, so, scriptStates[so]);
|
||||
sp.ClearAttachments();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (SceneObjectGroup so in attachments)
|
||||
UpdateDetachedObject(sp, so, scriptStates[so]);
|
||||
m_log.DebugFormat("[ATTACHMENTS MODULE]: enter ClearAttachments");
|
||||
sp.ClearAttachments();
|
||||
}
|
||||
m_log.DebugFormat("[ATTACHMENTS MODULE]: derez done");
|
||||
|
||||
lock (sp.AttachmentsSyncLock)
|
||||
{
|
||||
foreach (SceneObjectGroup so in attachments)
|
||||
UpdateDetachedObject(sp, so, String.Empty);
|
||||
sp.ClearAttachments();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteAttachmentsFromScene(IScenePresence sp, bool silent)
|
||||
|
||||
Reference in New Issue
Block a user