aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-12-08 07:18:30 +0000
committerTeravus Ovares2008-12-08 07:18:30 +0000
commit354ffcf94ecc909af082d5d5a5189f8190b5aa77 (patch)
treec788cd85e0667c8e851356936766d9174225908a /OpenSim/Region/Environment/Scenes/ScenePresence.cs
parentAllow empty statements in LSL (; followed by ;). Fixes Mantis#2320 (diff)
downloadopensim-SC-354ffcf94ecc909af082d5d5a5189f8190b5aa77.zip
opensim-SC-354ffcf94ecc909af082d5d5a5189f8190b5aa77.tar.gz
opensim-SC-354ffcf94ecc909af082d5d5a5189f8190b5aa77.tar.bz2
opensim-SC-354ffcf94ecc909af082d5d5a5189f8190b5aa77.tar.xz
* Fixes control issue at the root of the boat turning problem.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index d363c6e..30063eb 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1342,6 +1342,18 @@ namespace OpenSim.Region.Environment.Scenes
1342 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); 1342 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
1343 if (part != null) 1343 if (part != null)
1344 { 1344 {
1345 TaskInventoryDictionary taskIDict = part.TaskInventory;
1346 if (taskIDict != null)
1347 {
1348 lock (taskIDict)
1349 {
1350 foreach (UUID taskID in taskIDict.Keys)
1351 {
1352 UnRegisterControlEventsToScript(LocalId, taskID);
1353 }
1354 }
1355
1356 }
1345 // Reset sit target. 1357 // Reset sit target.
1346 if (part.GetAvatarOnSitTarget() == UUID) 1358 if (part.GetAvatarOnSitTarget() == UUID)
1347 part.SetAvatarOnSitTarget(UUID.Zero); 1359 part.SetAvatarOnSitTarget(UUID.Zero);
@@ -3212,6 +3224,11 @@ namespace OpenSim.Region.Environment.Scenes
3212 { 3224 {
3213 if (scriptedcontrols.ContainsKey(Script_item_UUID)) 3225 if (scriptedcontrols.ContainsKey(Script_item_UUID))
3214 { 3226 {
3227 ScriptControllers takecontrolls = scriptedcontrols[Script_item_UUID];
3228 ScriptControlled sctc = takecontrolls.eventControls;
3229 ControllingClient.SendTakeControls((int)sctc, false, false);
3230 ControllingClient.SendTakeControls((int)sctc, true, false);
3231
3215 scriptedcontrols.Remove(Script_item_UUID); 3232 scriptedcontrols.Remove(Script_item_UUID);
3216 IgnoredControls = ScriptControlled.CONTROL_ZERO; 3233 IgnoredControls = ScriptControlled.CONTROL_ZERO;
3217 foreach (ScriptControllers scData in scriptedcontrols.Values) 3234 foreach (ScriptControllers scData in scriptedcontrols.Values)
@@ -3219,6 +3236,7 @@ namespace OpenSim.Region.Environment.Scenes
3219 IgnoredControls |= scData.ignoreControls; 3236 IgnoredControls |= scData.ignoreControls;
3220 } 3237 }
3221 } 3238 }
3239
3222 } 3240 }
3223 } 3241 }
3224 3242