diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 4ac6743..9527fa5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -761,6 +761,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
761 | { | 761 | { |
762 | if (agent.ParentUUID != UUID.Zero) | 762 | if (agent.ParentUUID != UUID.Zero) |
763 | { | 763 | { |
764 | agent.ClearControls(); | ||
764 | agent.ParentPart = null; | 765 | agent.ParentPart = null; |
765 | // agent.ParentPosition = Vector3.Zero; | 766 | // agent.ParentPosition = Vector3.Zero; |
766 | // agent.ParentUUID = UUID.Zero; | 767 | // agent.ParentUUID = UUID.Zero; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5c76964..ca63d04 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -4512,6 +4512,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
4512 | ControllingClient.SendTakeControls(int.MaxValue, false, false); | 4512 | ControllingClient.SendTakeControls(int.MaxValue, false, false); |
4513 | } | 4513 | } |
4514 | 4514 | ||
4515 | public void ClearControls() | ||
4516 | { | ||
4517 | IgnoredControls = ScriptControlled.CONTROL_ZERO; | ||
4518 | lock (scriptedcontrols) | ||
4519 | { | ||
4520 | scriptedcontrols.Clear(); | ||
4521 | } | ||
4522 | } | ||
4523 | |||
4515 | private void UnRegisterSeatControls(UUID obj) | 4524 | private void UnRegisterSeatControls(UUID obj) |
4516 | { | 4525 | { |
4517 | List<UUID> takers = new List<UUID>(); | 4526 | List<UUID> takers = new List<UUID>(); |