diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 9a2707b0f5..89c7a1a3e1 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -2468,12 +2468,23 @@ namespace OpenSim.Region.Framework.Scenes public void stopMoveToTarget() { - PhysicsActor pa = RootPart.PhysActor; + if (IsAttachment) + { + ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); + if (avatar != null) + { + avatar.ResetMoveToTarget(); + } + } + else + { + PhysicsActor pa = RootPart.PhysActor; - if (pa != null) - pa.PIDActive = false; + if (pa != null) + pa.PIDActive = false; - RootPart.ScheduleTerseUpdate(); // send a stop information + RootPart.ScheduleTerseUpdate(); // send a stop information + } } public void rotLookAt(Quaternion target, float strength, float damping)