diff options
author | Robert Adams | 2013-01-15 01:46:30 -0800 |
---|---|---|
committer | Robert Adams | 2013-01-15 01:46:30 -0800 |
commit | edf198b766e5866ddddb1974aae061e79cee750b (patch) | |
tree | a1d5a43a3edea5de80d03d9bddf7182cca403241 /OpenSim/Region | |
parent | BulletSim: by default, turn on continuious collision detection (CCD) (diff) | |
parent | move resit fix to ScenePresence.cs and allow for requesting sit on objects ot... (diff) | |
download | opensim-SC-edf198b766e5866ddddb1974aae061e79cee750b.zip opensim-SC-edf198b766e5866ddddb1974aae061e79cee750b.tar.gz opensim-SC-edf198b766e5866ddddb1974aae061e79cee750b.tar.bz2 opensim-SC-edf198b766e5866ddddb1974aae061e79cee750b.tar.xz |
Merge branch 'master' of git://opensimulator.org/git/opensim
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 |
2 files changed, 7 insertions, 12 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index a8517e6..967fa44 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -6427,19 +6427,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6427 | #endregion | 6427 | #endregion |
6428 | 6428 | ||
6429 | AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; | 6429 | AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; |
6430 | if (handlerAgentRequestSit != null) | ||
6431 | if (!(agentRequestSit.AgentData == null | ||
6432 | || agentRequestSit.TargetObject == null | ||
6433 | || agentRequestSit.TargetObject.TargetID == null | ||
6434 | || agentRequestSit.TargetObject.Offset == null)) | ||
6435 | { | ||
6436 | var sp = m_scene.GetScenePresence(agentRequestSit.AgentData.AgentID); | ||
6437 | if (sp == null || sp.ParentID != 0) // ignore packet if agent is already sitting | ||
6438 | return true; | ||
6439 | 6430 | ||
6440 | handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID, | 6431 | if (handlerAgentRequestSit != null) |
6441 | agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset); | 6432 | handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID, |
6442 | } | 6433 | agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset); |
6443 | } | 6434 | } |
6444 | return true; | 6435 | return true; |
6445 | } | 6436 | } |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 0219540..6979c33 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1954,6 +1954,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1954 | { | 1954 | { |
1955 | if (ParentID != 0) | 1955 | if (ParentID != 0) |
1956 | { | 1956 | { |
1957 | var targetPart = m_scene.GetSceneObjectPart(targetID); | ||
1958 | if (targetPart != null && targetPart.LocalId == ParentID) | ||
1959 | return; // already sitting here, ignore | ||
1960 | |||
1957 | StandUp(); | 1961 | StandUp(); |
1958 | } | 1962 | } |
1959 | 1963 | ||