Thank you M1sha for diagnosing and patching a lock bug affecting region crossings introduced in r9110. Fixes mantis #3456.

0.6.5-rc1
diva 2009-04-17 23:55:59 +00:00
parent 68190617b4
commit 722be8f132
1 changed files with 16 additions and 13 deletions

View File

@ -1948,29 +1948,32 @@ namespace OpenSim.Region.Framework.Scenes
{ {
//m_log.DebugFormat("Updating movement animation to {0}", anim); //m_log.DebugFormat("Updating movement animation to {0}", anim);
if (m_animations.TrySetDefaultAnimation(anim, m_controllingClient.NextAnimationSequenceNumber, UUID.Zero)) if (!m_isChildAgent)
{ {
if (m_scriptEngines != null) if (m_animations.TrySetDefaultAnimation(anim, m_controllingClient.NextAnimationSequenceNumber, UUID.Zero))
{ {
lock (m_attachments) if (m_scriptEngines != null)
{ {
foreach (SceneObjectGroup grp in m_attachments) lock (m_attachments)
{ {
// 16384 is CHANGED_ANIMATION foreach (SceneObjectGroup grp in m_attachments)
//
// Send this to all attachment root prims
//
foreach (IScriptModule m in m_scriptEngines)
{ {
if (m == null) // No script engine loaded // 16384 is CHANGED_ANIMATION
continue; //
// Send this to all attachment root prims
//
foreach (IScriptModule m in m_scriptEngines)
{
if (m == null) // No script engine loaded
continue;
m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] {16384}); m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] { 16384 });
}
} }
} }
} }
SendAnimPack();
} }
SendAnimPack();
} }
} }