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);
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
//
// Send this to all attachment root prims
//
foreach (IScriptModule m in m_scriptEngines)
foreach (SceneObjectGroup grp in m_attachments)
{
if (m == null) // No script engine loaded
continue;
// 16384 is CHANGED_ANIMATION
//
// 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();
}
}