diff options
author | Melanie | 2009-12-23 21:21:22 +0000 |
---|---|---|
committer | Melanie | 2009-12-23 21:21:22 +0000 |
commit | f2d2073f2bd01f182c1b2238af9ba212ca999fd0 (patch) | |
tree | 8ee2d879559aaad7f3df47023069899420232da7 /OpenSim/Framework/Communications/Cache | |
parent | Fix a bounds exception I came across in IAR restore (diff) | |
parent | Change in how the Library returns its descendant folders, so that it includes... (diff) | |
download | opensim-SC-f2d2073f2bd01f182c1b2238af9ba212ca999fd0.zip opensim-SC-f2d2073f2bd01f182c1b2238af9ba212ca999fd0.tar.gz opensim-SC-f2d2073f2bd01f182c1b2238af9ba212ca999fd0.tar.bz2 opensim-SC-f2d2073f2bd01f182c1b2238af9ba212ca999fd0.tar.xz |
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim/Framework/Communications/Cache')
-rw-r--r-- | OpenSim/Framework/Communications/Cache/LibraryRootFolder.cs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/Cache/LibraryRootFolder.cs b/OpenSim/Framework/Communications/Cache/LibraryRootFolder.cs index 42e6510..74ba0a5 100644 --- a/OpenSim/Framework/Communications/Cache/LibraryRootFolder.cs +++ b/OpenSim/Framework/Communications/Cache/LibraryRootFolder.cs | |||
@@ -232,7 +232,26 @@ namespace OpenSim.Framework.Communications.Cache | |||
232 | /// <returns></returns> | 232 | /// <returns></returns> |
233 | public Dictionary<UUID, InventoryFolderImpl> RequestSelfAndDescendentFolders() | 233 | public Dictionary<UUID, InventoryFolderImpl> RequestSelfAndDescendentFolders() |
234 | { | 234 | { |
235 | return libraryFolders; | 235 | Dictionary<UUID, InventoryFolderImpl> fs = new Dictionary<UUID, InventoryFolderImpl>(); |
236 | fs.Add(ID, this); | ||
237 | List<InventoryFolderImpl> fis = TraverseFolder(this); | ||
238 | foreach (InventoryFolderImpl f in fis) | ||
239 | { | ||
240 | fs.Add(f.ID, f); | ||
241 | } | ||
242 | //return libraryFolders; | ||
243 | return fs; | ||
244 | } | ||
245 | |||
246 | private List<InventoryFolderImpl> TraverseFolder(InventoryFolderImpl node) | ||
247 | { | ||
248 | List<InventoryFolderImpl> folders = node.RequestListOfFolderImpls(); | ||
249 | List<InventoryFolderImpl> subs = new List<InventoryFolderImpl>(); | ||
250 | foreach (InventoryFolderImpl f in folders) | ||
251 | subs.AddRange(TraverseFolder(f)); | ||
252 | |||
253 | folders.AddRange(subs); | ||
254 | return folders; | ||
236 | } | 255 | } |
237 | } | 256 | } |
238 | } | 257 | } |