diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 4 |
2 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index c105560..386aab4 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1173,6 +1173,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
1173 | if (folder == null) | 1173 | if (folder == null) |
1174 | return; | 1174 | return; |
1175 | 1175 | ||
1176 | // TODO: This code for looking in the folder for the library should be folded somewhere else | ||
1177 | // so that this class doesn't have to know the details (and so that multiple libraries, etc. | ||
1178 | // can be handled transparently). | ||
1179 | InventoryFolderImpl fold = null; | ||
1180 | if (LibraryService != null && LibraryService.LibraryRootFolder != null) | ||
1181 | { | ||
1182 | if ((fold = LibraryService.LibraryRootFolder.FindFolder(folder.ID)) != null) | ||
1183 | { | ||
1184 | client.SendInventoryFolderDetails( | ||
1185 | fold.Owner, folder.ID, fold.RequestListOfItems(), | ||
1186 | fold.RequestListOfFolders(), fold.Version, fetchFolders, fetchItems); | ||
1187 | return; | ||
1188 | } | ||
1189 | } | ||
1190 | |||
1176 | // Fetch the folder contents | 1191 | // Fetch the folder contents |
1177 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); | 1192 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); |
1178 | 1193 | ||
@@ -1183,7 +1198,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1183 | //m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", | 1198 | //m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", |
1184 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); | 1199 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); |
1185 | 1200 | ||
1186 | if (containingFolder != null) | 1201 | if (containingFolder != null && containingFolder != null) |
1187 | client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, containingFolder.Version, fetchFolders, fetchItems); | 1202 | client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, containingFolder.Version, fetchFolders, fetchItems); |
1188 | } | 1203 | } |
1189 | 1204 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index bc10230..e25b1f1 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -513,8 +513,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
513 | { | 513 | { |
514 | // FIXME MAYBE: We're not handling sortOrder! | 514 | // FIXME MAYBE: We're not handling sortOrder! |
515 | 515 | ||
516 | // TODO: This code for looking in the folder for the library should be folded back into the | 516 | // TODO: This code for looking in the folder for the library should be folded somewhere else |
517 | // CachedUserInfo so that this class doesn't have to know the details (and so that multiple libraries, etc. | 517 | // so that this class doesn't have to know the details (and so that multiple libraries, etc. |
518 | // can be handled transparently). | 518 | // can be handled transparently). |
519 | InventoryFolderImpl fold = null; | 519 | InventoryFolderImpl fold = null; |
520 | if (LibraryService != null && LibraryService.LibraryRootFolder != null) | 520 | if (LibraryService != null && LibraryService.LibraryRootFolder != null) |