diff options
Diffstat (limited to 'OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs')
-rw-r--r-- | OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs | 9 |
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(); |