diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 20760b2..60f730d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1154,6 +1154,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
1154 | if (folder == null) | 1154 | if (folder == null) |
1155 | return; | 1155 | return; |
1156 | 1156 | ||
1157 | // TODO: This code for looking in the folder for the library should be folded somewhere else | ||
1158 | // so that this class doesn't have to know the details (and so that multiple libraries, etc. | ||
1159 | // can be handled transparently). | ||
1160 | InventoryFolderImpl fold = null; | ||
1161 | if (LibraryService != null && LibraryService.LibraryRootFolder != null) | ||
1162 | { | ||
1163 | if ((fold = LibraryService.LibraryRootFolder.FindFolder(folder.ID)) != null) | ||
1164 | { | ||
1165 | client.SendInventoryFolderDetails( | ||
1166 | fold.Owner, folder.ID, fold.RequestListOfItems(), | ||
1167 | fold.RequestListOfFolders(), fold.Version, fetchFolders, fetchItems); | ||
1168 | return; | ||
1169 | } | ||
1170 | } | ||
1171 | |||
1157 | // Fetch the folder contents | 1172 | // Fetch the folder contents |
1158 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); | 1173 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); |
1159 | 1174 | ||
@@ -1164,7 +1179,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1164 | //m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", | 1179 | //m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", |
1165 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); | 1180 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); |
1166 | 1181 | ||
1167 | if (containingFolder != null) | 1182 | if (containingFolder != null && containingFolder != null) |
1168 | client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, containingFolder.Version, fetchFolders, fetchItems); | 1183 | client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, containingFolder.Version, fetchFolders, fetchItems); |
1169 | } | 1184 | } |
1170 | 1185 | ||