diff options
author | UbitUmarov | 2017-11-12 12:00:03 +0000 |
---|---|---|
committer | UbitUmarov | 2017-11-12 12:00:03 +0000 |
commit | 6546ea6da642f9b4c8bb03ee7e43741352820bd9 (patch) | |
tree | 869853cd9845d4a9709f068efe00e78bad73c7cb | |
parent | mantis 8200: move changes in PGSQL from last commit to a new transaction (13) (diff) | |
download | opensim-SC_OLD-6546ea6da642f9b4c8bb03ee7e43741352820bd9.zip opensim-SC_OLD-6546ea6da642f9b4c8bb03ee7e43741352820bd9.tar.gz opensim-SC_OLD-6546ea6da642f9b4c8bb03ee7e43741352820bd9.tar.bz2 opensim-SC_OLD-6546ea6da642f9b4c8bb03ee7e43741352820bd9.tar.xz |
mantis 8253: don't let attachments delete remove controls from viewers on crossings.
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 10 |
2 files changed, 4 insertions, 10 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 9b094f7..d51b9da 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -1178,6 +1178,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1178 | agent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; | 1178 | agent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; |
1179 | 1179 | ||
1180 | agent.SenderWantsToWaitForRoot = true; | 1180 | agent.SenderWantsToWaitForRoot = true; |
1181 | |||
1181 | //SetCallbackURL(agent, sp.Scene.RegionInfo); | 1182 | //SetCallbackURL(agent, sp.Scene.RegionInfo); |
1182 | 1183 | ||
1183 | // Reset the do not close flag. This must be done before the destination opens child connections (here | 1184 | // Reset the do not close flag. This must be done before the destination opens child connections (here |
@@ -1877,7 +1878,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1877 | if(childRegionsToClose != null) | 1878 | if(childRegionsToClose != null) |
1878 | agent.CloseChildAgents(childRegionsToClose); | 1879 | agent.CloseChildAgents(childRegionsToClose); |
1879 | 1880 | ||
1880 | // this may need the attachments | 1881 | if((agent.crossingFlags & 8) == 0) |
1882 | agent.ClearControls(); // don't let attachments delete (called in HasMovedAway) disturb taken controls on viewers | ||
1881 | 1883 | ||
1882 | agent.HasMovedAway((agent.crossingFlags & 8) == 0); | 1884 | agent.HasMovedAway((agent.crossingFlags & 8) == 0); |
1883 | 1885 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 059a846..018c2e2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2288,13 +2288,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2288 | } | 2288 | } |
2289 | } | 2289 | } |
2290 | 2290 | ||
2291 | if(gotCrossUpdate) | ||
2292 | { | ||
2293 | if(IgnoredControls != ScriptControlled.CONTROL_ZERO) | ||
2294 | ControllingClient.SendTakeControls((int)IgnoredControls, false, true); | ||
2295 | |||
2296 | } | ||
2297 | |||
2298 | m_log.DebugFormat("[CompleteMovement] attachments: {0}ms", Util.EnvironmentTickCountSubtract(ts)); | 2291 | m_log.DebugFormat("[CompleteMovement] attachments: {0}ms", Util.EnvironmentTickCountSubtract(ts)); |
2299 | if (openChildAgents) | 2292 | if (openChildAgents) |
2300 | { | 2293 | { |
@@ -5685,7 +5678,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
5685 | { | 5678 | { |
5686 | IgnoredControls = ScriptControlled.CONTROL_ZERO; | 5679 | IgnoredControls = ScriptControlled.CONTROL_ZERO; |
5687 | obj.eventControls = (ScriptControlled)controls; | 5680 | obj.eventControls = (ScriptControlled)controls; |
5688 | obj.ignoreControls = ScriptControlled.CONTROL_ZERO; | ||
5689 | } | 5681 | } |
5690 | 5682 | ||
5691 | lock (scriptedcontrols) | 5683 | lock (scriptedcontrols) |
@@ -5801,7 +5793,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
5801 | { | 5793 | { |
5802 | if (scriptedcontrols.TryGetValue(Script_item_UUID, out takecontrols)) | 5794 | if (scriptedcontrols.TryGetValue(Script_item_UUID, out takecontrols)) |
5803 | { | 5795 | { |
5804 | ScriptControlled sctc = takecontrols.eventControls; | 5796 | ScriptControlled sctc = takecontrols.eventControls; |
5805 | 5797 | ||
5806 | ControllingClient.SendTakeControls((int)sctc, false, false); | 5798 | ControllingClient.SendTakeControls((int)sctc, false, false); |
5807 | ControllingClient.SendTakeControls((int)sctc, true, false); | 5799 | ControllingClient.SendTakeControls((int)sctc, true, false); |