From 546cd6f3fa0a01fadf3607ffc79af1057efb73a4 Mon Sep 17 00:00:00 2001 From: cinder Date: Wed, 16 Nov 2022 09:18:13 -0600 Subject: [PATCH] Sorting out InventoryManager --- LibreMetaverse/InventoryManager.cs | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/LibreMetaverse/InventoryManager.cs b/LibreMetaverse/InventoryManager.cs index 40e103dc..09dfd30f 100644 --- a/LibreMetaverse/InventoryManager.cs +++ b/LibreMetaverse/InventoryManager.cs @@ -666,7 +666,9 @@ namespace OpenMetaverse RequestFolderContents(folder, owner, folders, items, order); if (fetchEvent.WaitOne(timeoutMS, false)) + { objects = _Store.GetContents(folder); + } FolderUpdated -= FolderUpdatedCB; @@ -676,28 +678,24 @@ namespace OpenMetaverse List owner_ids = new List(); if (objects != null) { - foreach (InventoryBase o in objects) + foreach (var ob in objects.Where(o => o.GetType() != typeof(InventoryFolder)).Cast()) { - if (o.GetType() != typeof(InventoryFolder)) + if (ob.IsLink() && !fast_loading) { - InventoryItem ob = (InventoryItem)o; - if ((ob.IsLink() == true) && (fast_loading == false)) + if (Store.Items.ContainsKey(ob.AssetUUID)) { - if (Store.Items.ContainsKey(ob.AssetUUID) == false) - { - load_items.Add(ob.AssetUUID); - owner_ids.Add(Client.Self.AgentID); - } - else - { - cleaned_list.Add(Client.Inventory.FetchItem(ob.AssetUUID, Client.Self.AgentID, 1000 * 5)); - } + cleaned_list.Add(Client.Inventory.FetchItem(ob.AssetUUID, Client.Self.AgentID, 1000 * 5)); } else { - cleaned_list.Add(ob); + load_items.Add(ob.AssetUUID); + owner_ids.Add(Client.Self.AgentID); } } + else + { + cleaned_list.Add(ob); + } } }