fix for mantis #2 from Justin Casey (IBM)

afrisby
Sean Dague 2007-11-20 21:25:27 +00:00
parent ee8512ee20
commit 7b09800d5b
2 changed files with 12 additions and 3 deletions

View File

@ -1580,6 +1580,11 @@ namespace OpenSim.Region.Environment.Scenes
List<ScenePresence> avatars = GetScenePresences(); List<ScenePresence> avatars = GetScenePresences();
for (int i = 0; i < avatars.Count; i++) for (int i = 0; i < avatars.Count; i++)
{ {
if (avatars[i].ParentID == LocalId)
{
avatars[i].StandUp();
}
avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalID); avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalID);
} }
} }

View File

@ -526,7 +526,6 @@ namespace OpenSim.Region.Environment.Scenes
if ((flags & (uint) MainAvatar.ControlFlags.AGENT_CONTROL_STAND_UP) != 0) if ((flags & (uint) MainAvatar.ControlFlags.AGENT_CONTROL_STAND_UP) != 0)
{ {
StandUp(); StandUp();
UpdateMovementAnimations(true);
} }
if (PhysicsActor == null) if (PhysicsActor == null)
@ -593,7 +592,11 @@ namespace OpenSim.Region.Environment.Scenes
} }
protected void StandUp() /// <summary>
/// Perform the logic necessary to stand the client up. This method also executes
/// the stand animation.
/// </summary>
public void StandUp()
{ {
if (m_parentID != 0) if (m_parentID != 0)
{ {
@ -607,6 +610,8 @@ namespace OpenSim.Region.Environment.Scenes
m_parentID = 0; m_parentID = 0;
SendFullUpdateToAllClients(); SendFullUpdateToAllClients();
} }
UpdateMovementAnimations(true);
} }
private void SendSitResponse(IClientAPI remoteClient, LLUUID targetID, LLVector3 offset) private void SendSitResponse(IClientAPI remoteClient, LLUUID targetID, LLVector3 offset)
@ -651,7 +656,6 @@ namespace OpenSim.Region.Environment.Scenes
if (m_parentID != 0) if (m_parentID != 0)
{ {
StandUp(); StandUp();
UpdateMovementAnimations(true);
} }
SceneObjectPart part = m_scene.GetSceneObjectPart(targetID); SceneObjectPart part = m_scene.GetSceneObjectPart(targetID);