Fixed: scripted controls didn't work if the avatar was sitting down

This fixes a bug introduced in 6473674bbf
This commit is contained in:
Oren Hurvitz
2012-04-28 17:42:49 +03:00
committed by Justin Clark-Casey (justincc)
parent 4ad45934c6
commit fe8e835bfc

View File

@@ -1336,6 +1336,7 @@ namespace OpenSim.Region.Framework.Scenes
PhysicsActor actor = PhysicsActor;
if (actor == null)
{
SafeSendControlsToScripts(flagsForScripts);
return;
}
@@ -1512,20 +1513,25 @@ namespace OpenSim.Region.Framework.Scenes
if (update_movementflag && ParentID == 0)
Animator.UpdateMovementAnimations();
lock (scriptedcontrols)
{
if (scriptedcontrols.Count > 0)
{
// Notify the scripts only after calling UpdateMovementAnimations(), so that if a script
// (e.g., a walking script) checks which animation is active it will be the correct animation.
SendControlToScripts(flagsForScripts);
}
}
SafeSendControlsToScripts(flagsForScripts);
}
m_scene.EventManager.TriggerOnClientMovement(this);
}
private void SafeSendControlsToScripts(uint flagsForScripts)
{
lock (scriptedcontrols)
{
if (scriptedcontrols.Count > 0)
{
// Notify the scripts only after calling UpdateMovementAnimations(), so that if a script
// (e.g., a walking script) checks which animation is active it will be the correct animation.
SendControlToScripts(flagsForScripts);
}
}
}
/// <summary>
/// Calculate an update to move the presence to the set target.
/// </summary>