aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs18
1 files changed, 13 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index feeb0d5..0208676 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -980,7 +980,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
980 } 980 }
981 981
982 // May need to logout or other cleanup 982 // May need to logout or other cleanup
983 AgentHasMovedAway(sp, logout); 983// AgentHasMovedAway(sp, logout);
984 AgentHasMovedAway(sp, true); // until logout use is checked
984 985
985 // Well, this is it. The agent is over there. 986 // Well, this is it. The agent is over there.
986 KillEntity(sp.Scene, sp.LocalId); 987 KillEntity(sp.Scene, sp.LocalId);
@@ -1147,7 +1148,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1147 sp.CloseChildAgents(newRegionX, newRegionY); 1148 sp.CloseChildAgents(newRegionX, newRegionY);
1148 1149
1149 // May need to logout or other cleanup 1150 // May need to logout or other cleanup
1150 AgentHasMovedAway(sp, logout); 1151// AgentHasMovedAway(sp, logout);
1152 AgentHasMovedAway(sp, true);
1151 1153
1152 // Well, this is it. The agent is over there. 1154 // Well, this is it. The agent is over there.
1153 KillEntity(sp.Scene, sp.LocalId); 1155 KillEntity(sp.Scene, sp.LocalId);
@@ -1262,7 +1264,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1262 protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout) 1264 protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout)
1263 { 1265 {
1264 if (sp.Scene.AttachmentsModule != null) 1266 if (sp.Scene.AttachmentsModule != null)
1265 sp.Scene.AttachmentsModule.DeleteAttachmentsFromScene(sp, true); 1267 sp.Scene.AttachmentsModule.DeleteAttachmentsFromScene(sp, logout);
1266 } 1268 }
1267 1269
1268 protected void KillEntity(Scene scene, uint localID) 1270 protected void KillEntity(Scene scene, uint localID)
@@ -1740,6 +1742,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1740 } 1742 }
1741 1743
1742 // No turning back 1744 // No turning back
1745
1746
1747
1743 agent.IsChildAgent = true; 1748 agent.IsChildAgent = true;
1744 1749
1745 string capsPath = neighbourRegion.ServerURI + CapsUtil.GetCapsSeedPath(agentcaps); 1750 string capsPath = neighbourRegion.ServerURI + CapsUtil.GetCapsSeedPath(agentcaps);
@@ -1777,7 +1782,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1777 // Unlike a teleport, here we do not wait for the destination region to confirm the receipt. 1782 // Unlike a teleport, here we do not wait for the destination region to confirm the receipt.
1778 m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); 1783 m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
1779 1784
1780 agent.parcelRegionCross(false); 1785 AgentHasMovedAway(agent, false);
1786
1787 KillEntity(agent.Scene, agent.LocalId);
1788// agent.parcelRegionCross(false);
1781 1789
1782 agent.MakeChildAgent(); 1790 agent.MakeChildAgent();
1783 1791
@@ -1803,7 +1811,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1803 1811
1804 agent.CloseChildAgents(neighbourx, neighboury); 1812 agent.CloseChildAgents(neighbourx, neighboury);
1805 1813
1806 AgentHasMovedAway(agent, false); 1814
1807 1815
1808 // the user may change their profile information in other region, 1816 // the user may change their profile information in other region,
1809 // so the userinfo in UserProfileCache is not reliable any more, delete it 1817 // so the userinfo in UserProfileCache is not reliable any more, delete it