aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2014-09-05 12:28:57 +0100
committerUbitUmarov2014-09-05 12:28:57 +0100
commit25bc349ec9f4d161b67e42aa126d907200638f10 (patch)
treed8921e5332f80beff8fe016ba38c6a0c50f2fe41
parent reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra (diff)
downloadopensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.zip
opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.gz
opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.bz2
opensim-SC_OLD-25bc349ec9f4d161b67e42aa126d907200638f10.tar.xz
near region check on tp needs to be a full current view check.
sp.KnownRegions is unreliable for this.
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs12
1 files changed, 6 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 4be265a..19c068a 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -986,15 +986,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
986 // Well, this is it. The agent is over there. 986 // Well, this is it. The agent is over there.
987// KillEntity(sp.Scene, sp.LocalId); 987// KillEntity(sp.Scene, sp.LocalId);
988 988
989 bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); 989 bool l_needsclosing = NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg);
990 sp.HasMovedAway(nearRegion); 990 sp.HasMovedAway(!l_needsclosing);
991 991
992 // Now let's make it officially a child agent 992 // Now let's make it officially a child agent
993 sp.MakeChildAgent(destinationHandle); 993 sp.MakeChildAgent(destinationHandle);
994 994
995 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone 995 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
996 996
997 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 997 if (l_needsclosing)
998 { 998 {
999 if (!sp.Scene.IncomingPreCloseClient(sp)) 999 if (!sp.Scene.IncomingPreCloseClient(sp))
1000 return; 1000 return;
@@ -1144,8 +1144,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1144 1144
1145 m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); 1145 m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp);
1146 1146
1147 bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); 1147 bool l_needsclosing = NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg);
1148 sp.HasMovedAway(nearRegion); 1148 sp.HasMovedAway(!l_needsclosing);
1149 1149
1150 // Need to signal neighbours whether child agents may need closing irrespective of whether this 1150 // Need to signal neighbours whether child agents may need closing irrespective of whether this
1151 // one needed closing. We also need to close child agents as quickly as possible to avoid complicated 1151 // one needed closing. We also need to close child agents as quickly as possible to avoid complicated
@@ -1163,7 +1163,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1163 sp.MakeChildAgent(destinationHandle); 1163 sp.MakeChildAgent(destinationHandle);
1164 1164
1165 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone 1165 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
1166 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 1166 if (l_needsclosing)
1167 { 1167 {
1168 if (!sp.Scene.IncomingPreCloseClient(sp)) 1168 if (!sp.Scene.IncomingPreCloseClient(sp))
1169 return; 1169 return;