diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 28593fc..137dfec 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -154,7 +154,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
154 | bool success = connector.LoginAgentToGrid(agentCircuit, reg, finalDestination, out reason); | 154 | bool success = connector.LoginAgentToGrid(agentCircuit, reg, finalDestination, out reason); |
155 | if (success) | 155 | if (success) |
156 | // Log them out of this grid | 156 | // Log them out of this grid |
157 | m_aScene.PresenceService.LogoutAgent(agentCircuit.SessionID, sp.AbsolutePosition, sp.Lookat); | 157 | m_aScene.PresenceService.LogoutAgent(agentCircuit.SessionID); |
158 | 158 | ||
159 | return success; | 159 | return success; |
160 | } | 160 | } |
@@ -238,6 +238,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
238 | { | 238 | { |
239 | if (obj.IsLoggingOut) | 239 | if (obj.IsLoggingOut) |
240 | { | 240 | { |
241 | object sp = null; | ||
242 | if (obj.Scene.TryGetScenePresence(obj.AgentId, out sp)) | ||
243 | { | ||
244 | if (((ScenePresence)sp).IsChildAgent) | ||
245 | return; | ||
246 | } | ||
247 | |||
241 | AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode); | 248 | AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode); |
242 | 249 | ||
243 | if (aCircuit.ServiceURLs.ContainsKey("HomeURI")) | 250 | if (aCircuit.ServiceURLs.ContainsKey("HomeURI")) |