aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/HypergridService
diff options
context:
space:
mode:
authorMelanie2013-07-24 04:45:07 +0100
committerMelanie2013-07-24 04:45:07 +0100
commite82d4154a2e348e4a38f01cb1877878c94569bba (patch)
tree7b27e6d30d04f6089fd17d5779cfb0a81e50d508 /OpenSim/Services/HypergridService
parentMerge branch 'master' into careminster (diff)
parentFor unknown user issue, bump GUN7 to GUN8 and UMMAU3 to UMMAU4 to assess what... (diff)
downloadopensim-SC-e82d4154a2e348e4a38f01cb1877878c94569bba.zip
opensim-SC-e82d4154a2e348e4a38f01cb1877878c94569bba.tar.gz
opensim-SC-e82d4154a2e348e4a38f01cb1877878c94569bba.tar.bz2
opensim-SC-e82d4154a2e348e4a38f01cb1877878c94569bba.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/Physics/Manager/PhysicsActor.cs OpenSim/Region/Physics/Manager/PhysicsScene.cs
Diffstat (limited to 'OpenSim/Services/HypergridService')
-rw-r--r--OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
index 2567c8f..0601ece 100644
--- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
@@ -493,6 +493,22 @@ namespace OpenSim.Services.HypergridService
493 return null; 493 return null;
494 } 494 }
495 495
496 private XInventoryFolder GetCurrentOutfitXFolder(UUID userID)
497 {
498 XInventoryFolder root = GetRootXFolder(userID);
499 if (root == null)
500 return null;
501
502 XInventoryFolder[] folders = m_Database.GetFolders(
503 new string[] { "agentID", "type", "parentFolderID" },
504 new string[] { userID.ToString(), ((int)AssetType.CurrentOutfitFolder).ToString(), root.folderID.ToString() });
505
506 if (folders.Length == 0)
507 return null;
508
509 return folders[0];
510 }
511
496 private XInventoryFolder GetSuitcaseXFolder(UUID principalID) 512 private XInventoryFolder GetSuitcaseXFolder(UUID principalID)
497 { 513 {
498 // Warp! Root folder for travelers 514 // Warp! Root folder for travelers
@@ -531,6 +547,7 @@ namespace OpenSim.Services.HypergridService
531 if (m_SuitcaseTrees.TryGetValue(principalID, out t)) 547 if (m_SuitcaseTrees.TryGetValue(principalID, out t))
532 return t; 548 return t;
533 549
550 // Get the tree of the suitcase folder
534 t = GetFolderTreeRecursive(folder); 551 t = GetFolderTreeRecursive(folder);
535 m_SuitcaseTrees.AddOrUpdate(principalID, t, 5*60); // 5minutes 552 m_SuitcaseTrees.AddOrUpdate(principalID, t, 5*60); // 5minutes
536 return t; 553 return t;
@@ -577,6 +594,9 @@ namespace OpenSim.Services.HypergridService
577 List<XInventoryFolder> tree = new List<XInventoryFolder>(); 594 List<XInventoryFolder> tree = new List<XInventoryFolder>();
578 tree.Add(suitcase); // Warp! the tree is the real root folder plus the children of the suitcase folder 595 tree.Add(suitcase); // Warp! the tree is the real root folder plus the children of the suitcase folder
579 tree.AddRange(GetFolderTree(principalID, suitcase.folderID)); 596 tree.AddRange(GetFolderTree(principalID, suitcase.folderID));
597 // Also add the Current Outfit folder to the list of available folders
598 tree.Add(GetCurrentOutfitXFolder(principalID));
599
580 XInventoryFolder f = tree.Find(delegate(XInventoryFolder fl) 600 XInventoryFolder f = tree.Find(delegate(XInventoryFolder fl)
581 { 601 {
582 if (fl.folderID == folderID) return true; 602 if (fl.folderID == folderID) return true;