From c19a78ae904cc36bd034c9965047d5a3e0f2e34b Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Sat, 15 Jun 2013 23:11:12 +0200 Subject: [PATCH] Allow library descendants to be fetched via caps --- OpenMetaverse/InventoryManager.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/OpenMetaverse/InventoryManager.cs b/OpenMetaverse/InventoryManager.cs index 2e04e2d7..8115f163 100644 --- a/OpenMetaverse/InventoryManager.cs +++ b/OpenMetaverse/InventoryManager.cs @@ -1568,11 +1568,11 @@ namespace OpenMetaverse InventorySortOrder order) { Uri url = null; - + string cap = ownerID == Client.Self.AgentID ? "FetchInventoryDescendents2" : "FetchLibDescendents2"; if (Client.Network.CurrentSim.Caps == null || - null == (url = Client.Network.CurrentSim.Caps.CapabilityURI("FetchInventoryDescendents2"))) + null == (url = Client.Network.CurrentSim.Caps.CapabilityURI(cap))) { - Logger.Log("FetchInventoryDescendents2 capability not available in the current sim", Helpers.LogLevel.Warning, Client); + Logger.Log(cap + " capability not available in the current sim", Helpers.LogLevel.Warning, Client); OnFolderUpdated(new FolderUpdatedEventArgs(folderID, false)); return; } @@ -4601,11 +4601,14 @@ namespace OpenMetaverse if (newItem.ItemID == UUID.Zero) continue; InventoryType invType = newItem.InvType; - InventoryType storedType = 0; - if (_ItemInventoryTypeRequest.TryGetValue(newItem.CallbackID, out storedType)) + lock (_ItemInventoryTypeRequest) { - _ItemInventoryTypeRequest.Remove(newItem.CallbackID); - invType = storedType; + InventoryType storedType = 0; + if (_ItemInventoryTypeRequest.TryGetValue(newItem.CallbackID, out storedType)) + { + _ItemInventoryTypeRequest.Remove(newItem.CallbackID); + invType = storedType; + } } InventoryItem item = SafeCreateInventoryItem(invType, newItem.ItemID);