aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs')
-rw-r--r--OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs b/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
index 6e47b22..926c195 100644
--- a/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
+++ b/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
@@ -131,6 +131,8 @@ namespace OpenSim.Server.Handlers.Presence
131 byte[] LogoutAgent(Dictionary<string, object> request) 131 byte[] LogoutAgent(Dictionary<string, object> request)
132 { 132 {
133 UUID session = UUID.Zero; 133 UUID session = UUID.Zero;
134 Vector3 position = Vector3.Zero;
135 Vector3 lookat = Vector3.Zero;
134 136
135 if (!request.ContainsKey("SessionID")) 137 if (!request.ContainsKey("SessionID"))
136 return FailureResult(); 138 return FailureResult();
@@ -138,7 +140,12 @@ namespace OpenSim.Server.Handlers.Presence
138 if (!UUID.TryParse(request["SessionID"].ToString(), out session)) 140 if (!UUID.TryParse(request["SessionID"].ToString(), out session))
139 return FailureResult(); 141 return FailureResult();
140 142
141 if (m_PresenceService.LogoutAgent(session)) 143 if (request.ContainsKey("Position") && request["Position"] != null)
144 Vector3.TryParse(request["Position"].ToString(), out position);
145 if (request.ContainsKey("LookAt") && request["Position"] != null)
146 Vector3.TryParse(request["LookAt"].ToString(), out lookat);
147
148 if (m_PresenceService.LogoutAgent(session, position, lookat))
142 return SuccessResult(); 149 return SuccessResult();
143 150
144 return FailureResult(); 151 return FailureResult();