mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 17:32:42 +08:00
* Fixes mantis http://opensimulator.org/mantis/view.php?id=4044. Turns out folders were never being removed from trash when they were singled out for purging in trash. They were being removed when Trash was purged as a whole. That behavior is now fixed for the new InventoryService set.
* Removed left-overs from AssetInventoryServer.
This commit is contained in:
@@ -789,23 +789,15 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes an inventory folder. Although there is a packet in the Linden protocol for this, it may be
|
||||
/// legacy and not currently used (purge folder is used to remove folders from trash instead).
|
||||
/// Removes an inventory folder. This packet is sent when the user
|
||||
/// right-clicks a folder that's already in trash and chooses "purge"
|
||||
/// </summary>
|
||||
/// <param name="remoteClient"></param>
|
||||
/// <param name="folderID"></param>
|
||||
private void RemoveInventoryFolder(IClientAPI remoteClient, UUID folderID)
|
||||
private void RemoveInventoryFolder(IClientAPI remoteClient, List<UUID> folderIDs)
|
||||
{
|
||||
// Unclear is this handler is ever called by the Linden client, but it might
|
||||
|
||||
InventoryFolderBase folder = new InventoryFolderBase(folderID);
|
||||
folder.Owner = remoteClient.AgentId;
|
||||
InventoryFolderBase trash = InventoryService.GetFolderForType(remoteClient.AgentId, AssetType.TrashFolder);
|
||||
if (trash != null)
|
||||
{
|
||||
folder.ParentID = trash.ID;
|
||||
InventoryService.MoveFolder(folder);
|
||||
}
|
||||
m_log.DebugFormat("[SCENE INVENTORY]: RemoveInventoryFolders count {0}", folderIDs.Count);
|
||||
InventoryService.DeleteFolders(remoteClient.AgentId, folderIDs);
|
||||
}
|
||||
|
||||
private SceneObjectGroup GetGroupByPrim(uint localID)
|
||||
|
||||
@@ -552,7 +552,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
public void HandleMoveInventoryFolder(IClientAPI remoteClient, UUID folderID, UUID parentID)
|
||||
{
|
||||
InventoryFolderBase folder = new InventoryFolderBase(folderID);
|
||||
InventoryFolderBase folder = new InventoryFolderBase(folderID, remoteClient.AgentId);
|
||||
folder = InventoryService.GetFolder(folder);
|
||||
if (folder != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user