mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
Patch for mantis 0000015: Textures don't display in the object
properties window From Justin Casey (IBM)
This commit is contained in:
@@ -36,6 +36,13 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
public Dictionary<LLUUID, InventoryItemBase> Items = new Dictionary<LLUUID, InventoryItemBase>();
|
||||
public Dictionary<LLUUID, InventoryFolderImpl> SubFolders = new Dictionary<LLUUID, InventoryFolderImpl>();
|
||||
|
||||
// Accessors
|
||||
public int SubFoldersCount
|
||||
{
|
||||
get { return SubFolders.Count; }
|
||||
}
|
||||
|
||||
// Constructors
|
||||
public InventoryFolderImpl(InventoryFolderBase folderbase)
|
||||
{
|
||||
agentID = folderbase.agentID;
|
||||
@@ -132,4 +139,4 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
return itemList;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +111,15 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tell the client about the various child items and folders contained in the requested folder.
|
||||
/// </summary>
|
||||
/// <param name="remoteClient"></param>
|
||||
/// <param name="folderID"></param>
|
||||
/// <param name="ownerID"></param>
|
||||
/// <param name="fetchFolders"></param>
|
||||
/// <param name="fetchItems"></param>
|
||||
/// <param name="sortOrder"></param>
|
||||
public void HandleFecthInventoryDescendents(IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID,
|
||||
bool fetchFolders, bool fetchItems, int sortOrder)
|
||||
{
|
||||
@@ -118,14 +127,14 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
if (folderID == libraryRoot.folderID)
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, libraryRoot.folderID,
|
||||
libraryRoot.RequestListOfItems());
|
||||
libraryRoot.RequestListOfItems(), libraryRoot.SubFoldersCount);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ((fold = libraryRoot.HasSubFolder(folderID)) != null)
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, folderID, fold.RequestListOfItems());
|
||||
remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, folderID, fold.RequestListOfItems(), fold.SubFoldersCount);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -140,16 +149,16 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
if (fetchItems)
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID,
|
||||
userProfile.RootFolder.RequestListOfItems());
|
||||
userProfile.RootFolder.RequestListOfItems(), userProfile.RootFolder.SubFoldersCount);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
InventoryFolderImpl folder = userProfile.RootFolder.HasSubFolder(folderID);
|
||||
if ((folder != null) && fetchItems)
|
||||
|
||||
if (fetchItems && folder != null)
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID,
|
||||
folder.RequestListOfItems());
|
||||
remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID, folder.RequestListOfItems(), folder.SubFoldersCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -184,4 +193,4 @@ namespace OpenSim.Framework.Communications.Cache
|
||||
m_parent.InventoryService.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -449,7 +449,7 @@ namespace OpenSim.Framework
|
||||
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
|
||||
LLQuaternion rotation,LLVector3 velocity, LLVector3 rotationalvelocity);
|
||||
|
||||
void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items);
|
||||
void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items, int subFoldersCount);
|
||||
void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item);
|
||||
void SendInventoryItemUpdate(InventoryItemBase Item);
|
||||
void SendRemoveInventoryItem(LLUUID itemID);
|
||||
|
||||
Reference in New Issue
Block a user