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 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 | ||
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) |