aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Capabilities/Handlers
diff options
context:
space:
mode:
authorDiva Canto2015-05-09 08:58:59 -0700
committerDiva Canto2015-05-09 08:58:59 -0700
commitadf0f49a697353184201b5dc80e6af332f29d55f (patch)
tree3c4482eabd07a967dc307f0d0dea459b225e4d90 /OpenSim/Capabilities/Handlers
parentAnother major overhaul of inventory downloading, this time pertaining to inve... (diff)
downloadopensim-SC_OLD-adf0f49a697353184201b5dc80e6af332f29d55f.zip
opensim-SC_OLD-adf0f49a697353184201b5dc80e6af332f29d55f.tar.gz
opensim-SC_OLD-adf0f49a697353184201b5dc80e6af332f29d55f.tar.bz2
opensim-SC_OLD-adf0f49a697353184201b5dc80e6af332f29d55f.tar.xz
Fix mantis #7054: AO in Firestorm and Kokua stopped loading after new inventory code in place. Cause: # of descendants was wrong.
Diffstat (limited to 'OpenSim/Capabilities/Handlers')
-rw-r--r--OpenSim/Capabilities/Handlers/FetchInventoryDescendents/FetchInvDescHandler.cs26
1 files changed, 17 insertions, 9 deletions
diff --git a/OpenSim/Capabilities/Handlers/FetchInventoryDescendents/FetchInvDescHandler.cs b/OpenSim/Capabilities/Handlers/FetchInventoryDescendents/FetchInvDescHandler.cs
index 8dd6235..810096f 100644
--- a/OpenSim/Capabilities/Handlers/FetchInventoryDescendents/FetchInvDescHandler.cs
+++ b/OpenSim/Capabilities/Handlers/FetchInventoryDescendents/FetchInvDescHandler.cs
@@ -676,8 +676,8 @@ namespace OpenSim.Capabilities.Handlers
676 { 676 {
677 m_log.WarnFormat("[WEB FETCH INV DESC HANDLER]: Unable to fetch folder {0}", freq.folder_id); 677 m_log.WarnFormat("[WEB FETCH INV DESC HANDLER]: Unable to fetch folder {0}", freq.folder_id);
678 bad_folders.Add(freq.folder_id); 678 bad_folders.Add(freq.folder_id);
679 bad = true;
680 } 679 }
680 bad = true;
681 } 681 }
682 } 682 }
683 683
@@ -755,15 +755,23 @@ namespace OpenSim.Capabilities.Handlers
755 } 755 }
756 } 756 }
757 757
758 foreach (InventoryItemBase linkedItem in linked) 758 //m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Processing folder {0}. Existing items:", freq.folder_id);
759 //foreach (InventoryItemBase item in itemsToReturn)
760 // m_log.DebugFormat("[XXX]: {0} {1} {2}", item.Name, item.AssetType, item.Folder);
761
762 if (linked != null)
759 { 763 {
760 // Take care of genuinely broken links where the target doesn't exist 764 foreach (InventoryItemBase linkedItem in linked)
761 // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
762 // but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
763 // rather than having to keep track of every folder requested in the recursion.
764 if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
765 { 765 {
766 itemsToReturn.Insert(0, linkedItem); 766 // Take care of genuinely broken links where the target doesn't exist
767 // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
768 // but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
769 // rather than having to keep track of every folder requested in the recursion.
770 if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
771 {
772 itemsToReturn.Insert(0, linkedItem);
773 //m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Added {0} {1} {2}", linkedItem.Name, linkedItem.AssetType, linkedItem.Folder);
774 }
767 } 775 }
768 } 776 }
769 } 777 }
@@ -824,7 +832,7 @@ namespace OpenSim.Capabilities.Handlers
824 } 832 }
825 } 833 }
826 834
827 struct InventoryCollectionWithDescendents 835 class InventoryCollectionWithDescendents
828 { 836 {
829 public InventoryCollection Collection; 837 public InventoryCollection Collection;
830 public int Descendents; 838 public int Descendents;