From 48d2300b8a762f6fba1e6741c69e975b358bbc36 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 10 Nov 2011 20:26:14 +0100 Subject: Fix misaligned sit animation on scripted sit caused by the default sit animation being run after the scripted one. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 99be46d..fc5141f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2013,8 +2013,6 @@ namespace OpenSim.Region.Framework.Scenes sitOrientation = avSitOrientation; autopilot = false; } - part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); - pos = part.AbsolutePosition + offset; //if (Math.Abs(part.AbsolutePosition.Z - AbsolutePosition.Z) > 1) //{ @@ -2060,6 +2058,12 @@ namespace OpenSim.Region.Framework.Scenes m_sitAtAutoTarget = autopilot; if (!autopilot) HandleAgentSit(remoteClient, UUID); + + // Moved here to avoid a race with default sit anim + // The script event needs to be raised after the default sit anim is set. + if (part != null) + part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); + } // public void HandleAgentRequestSit(IClientAPI remoteClient, UUID agentID, UUID targetID, Vector3 offset, string sitAnimation) -- cgit v1.1