From 0b43b263d48b576df12fd88fc303ce9cfe2066ec Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 16 May 2010 09:12:40 -0700 Subject: Fixes mantis #4691 --- OpenSim/Services/InventoryService/XInventoryService.cs | 2 +- OpenSim/Services/LLLoginService/LLLoginResponse.cs | 4 +++- OpenSim/Services/LLLoginService/LLLoginService.cs | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs index 4d7103b..974caf0 100644 --- a/OpenSim/Services/InventoryService/XInventoryService.cs +++ b/OpenSim/Services/InventoryService/XInventoryService.cs @@ -386,7 +386,7 @@ namespace OpenSim.Services.InventoryService XInventoryItem[] items = m_Database.GetActiveGestures(principalID); if (items.Length == 0) - return null; + return new List(); List ret = new List(); diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index d1dcfe7..32809ca 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -217,12 +217,14 @@ namespace OpenSim.Services.LLLoginService public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, GridRegion destination, List invSkel, FriendInfo[] friendsList, ILibraryService libService, - string where, string startlocation, Vector3 position, Vector3 lookAt, string message, + string where, string startlocation, Vector3 position, Vector3 lookAt, List gestures, string message, GridRegion home, IPEndPoint clientIP) : this() { FillOutInventoryData(invSkel, libService); + ActiveGestures = new ArrayList(gestures); + CircuitCode = (int)aCircuit.circuitcode; Lastname = account.LastName; Firstname = account.FirstName; diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 712b899..535cf42 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -272,6 +272,9 @@ namespace OpenSim.Services.LLLoginService return LLFailedLoginResponse.InventoryProblem; } + // Get active gestures + List gestures = m_InventoryService.GetActiveGestures(account.PrincipalID); + // // Login the presence // @@ -350,7 +353,7 @@ namespace OpenSim.Services.LLLoginService // Finally, fill out the response and return it // LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, - where, startLocation, position, lookAt, m_WelcomeMessage, home, clientIP); + where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP); m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); return response; -- cgit v1.1 From 2fb79646c6622b7a6318d9971e0462c559e4ccfd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 16 May 2010 10:32:57 -0700 Subject: Fixes mantis #4691 for real. This time I tested it, and it works. --- OpenSim/Services/LLLoginService/LLLoginResponse.cs | 18 +++++++++++++++++- OpenSim/Services/LLLoginService/LLLoginService.cs | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index 32809ca..54d53fb 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -223,7 +223,7 @@ namespace OpenSim.Services.LLLoginService { FillOutInventoryData(invSkel, libService); - ActiveGestures = new ArrayList(gestures); + FillOutActiveGestures(gestures); CircuitCode = (int)aCircuit.circuitcode; Lastname = account.LastName; @@ -285,6 +285,22 @@ namespace OpenSim.Services.LLLoginService } } + private void FillOutActiveGestures(List gestures) + { + ArrayList list = new ArrayList(); + if (gestures != null) + { + foreach (InventoryItemBase gesture in gestures) + { + Hashtable item = new Hashtable(); + item["item_id"] = gesture.ID.ToString(); + item["asset_id"] = gesture.AssetID.ToString(); + list.Add(item); + } + } + ActiveGestures = list; + } + private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) { 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 535cf42..6319cc4 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -274,6 +274,7 @@ namespace OpenSim.Services.LLLoginService // Get active gestures List gestures = m_InventoryService.GetActiveGestures(account.PrincipalID); + m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count); // // Login the presence -- cgit v1.1