dont get script states for NPCs on deRez

avinationmerge
UbitUmarov 2014-08-03 19:08:13 +01:00
parent ca8b0e6a1d
commit c2d9a6499a
1 changed files with 11 additions and 8 deletions

View File

@ -388,15 +388,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
Dictionary<SceneObjectGroup, string> scriptStates = new Dictionary<SceneObjectGroup, string>(); Dictionary<SceneObjectGroup, string> scriptStates = new Dictionary<SceneObjectGroup, string>();
m_log.DebugFormat("[ATTACHMENTS MODULE]: enter PrepareScriptInstanceForSave loop"); if (sp.PresenceType != PresenceType.Npc)
foreach (SceneObjectGroup so in attachments)
{ {
// Scripts MUST be snapshotted before the object is m_log.DebugFormat("[ATTACHMENTS MODULE]: enter PrepareScriptInstanceForSave loop");
// removed from the scene because doing otherwise will foreach (SceneObjectGroup so in attachments)
// clobber the run flag {
// This must be done outside the sp.AttachmentSyncLock so that there is no risk of a deadlock from // Scripts MUST be snapshotted before the object is
// scripts performing attachment operations at the same time. Getting object states stops the scripts. // removed from the scene because doing otherwise will
scriptStates[so] = PrepareScriptInstanceForSave(so, false); // clobber the run flag
// This must be done outside the sp.AttachmentSyncLock so that there is no risk of a deadlock from
// 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"); m_log.DebugFormat("[ATTACHMENTS MODULE]: enter UpdateDetachedObject loop");