Fixed bugs when getting the root folder.
1. The error checking for the case where there's no "My Inventory" folder was incorrect: it checked the wrong variable. 2. If GetSystemFolderForType() is called to get AssetType.RootFolder then it should return the root folder immediately; not look for another root folder below it.0.7.4-extended
parent
7caf21c8a8
commit
16349c1368
|
@ -219,9 +219,15 @@ namespace OpenSim.Services.InventoryService
|
||||||
|
|
||||||
XInventoryFolder root = null;
|
XInventoryFolder root = null;
|
||||||
foreach (XInventoryFolder folder in folders)
|
foreach (XInventoryFolder folder in folders)
|
||||||
|
{
|
||||||
if (folder.folderName == "My Inventory")
|
if (folder.folderName == "My Inventory")
|
||||||
|
{
|
||||||
root = folder;
|
root = folder;
|
||||||
if (folders == null) // oops
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (root == null) // oops
|
||||||
root = folders[0];
|
root = folders[0];
|
||||||
|
|
||||||
return ConvertToOpenSim(root);
|
return ConvertToOpenSim(root);
|
||||||
|
@ -249,6 +255,9 @@ namespace OpenSim.Services.InventoryService
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[XINVENTORY SERVICE]: Getting folder type {0} for user {1}", type, principalID);
|
// m_log.DebugFormat("[XINVENTORY SERVICE]: Getting folder type {0} for user {1}", type, principalID);
|
||||||
|
|
||||||
|
if (type == AssetType.RootFolder)
|
||||||
|
return rootFolder;
|
||||||
|
|
||||||
XInventoryFolder[] folders = m_Database.GetFolders(
|
XInventoryFolder[] folders = m_Database.GetFolders(
|
||||||
new string[] { "agentID", "parentFolderID", "type"},
|
new string[] { "agentID", "parentFolderID", "type"},
|
||||||
new string[] { rootFolder.Owner.ToString(), rootFolder.ID.ToString(), ((int)type).ToString() });
|
new string[] { rootFolder.Owner.ToString(), rootFolder.ID.ToString(), ((int)type).ToString() });
|
||||||
|
|
Loading…
Reference in New Issue