aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginResponse.cs20
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs6
2 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
index dc5ca51..edf41bc 100644
--- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
@@ -222,12 +222,14 @@ namespace OpenSim.Services.LLLoginService
222 222
223 public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, 223 public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo,
224 GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, 224 GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService,
225 string where, string startlocation, Vector3 position, Vector3 lookAt, string message, 225 string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message,
226 GridRegion home, IPEndPoint clientIP) 226 GridRegion home, IPEndPoint clientIP)
227 : this() 227 : this()
228 { 228 {
229 FillOutInventoryData(invSkel, libService); 229 FillOutInventoryData(invSkel, libService);
230 230
231 FillOutActiveGestures(gestures);
232
231 CircuitCode = (int)aCircuit.circuitcode; 233 CircuitCode = (int)aCircuit.circuitcode;
232 Lastname = account.LastName; 234 Lastname = account.LastName;
233 Firstname = account.FirstName; 235 Firstname = account.FirstName;
@@ -288,6 +290,22 @@ namespace OpenSim.Services.LLLoginService
288 } 290 }
289 } 291 }
290 292
293 private void FillOutActiveGestures(List<InventoryItemBase> gestures)
294 {
295 ArrayList list = new ArrayList();
296 if (gestures != null)
297 {
298 foreach (InventoryItemBase gesture in gestures)
299 {
300 Hashtable item = new Hashtable();
301 item["item_id"] = gesture.ID.ToString();
302 item["asset_id"] = gesture.AssetID.ToString();
303 list.Add(item);
304 }
305 }
306 ActiveGestures = list;
307 }
308
291 private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) 309 private void FillOutHomeData(GridUserInfo pinfo, GridRegion home)
292 { 310 {
293 int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; 311 int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize;
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index c85d35a..83f9ade 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -278,6 +278,10 @@ namespace OpenSim.Services.LLLoginService
278 return LLFailedLoginResponse.InventoryProblem; 278 return LLFailedLoginResponse.InventoryProblem;
279 } 279 }
280 280
281 // Get active gestures
282 List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID);
283 m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count);
284
281 // 285 //
282 // Login the presence 286 // Login the presence
283 // 287 //
@@ -356,7 +360,7 @@ namespace OpenSim.Services.LLLoginService
356 // Finally, fill out the response and return it 360 // Finally, fill out the response and return it
357 // 361 //
358 LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, 362 LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService,
359 where, startLocation, position, lookAt, m_WelcomeMessage, home, clientIP); 363 where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP);
360 364
361 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); 365 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client.");
362 return response; 366 return response;