diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs index 0441215304..907e2d4b67 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs @@ -290,11 +290,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver string newFolderName = rawDirsToCreate[i].Remove(identicalNameIdentifierIndex); UUID newFolderId = UUID.Random(); - + + // Asset type has to be Unknown here rather than Folder, otherwise the created folder can't be + // deleted once the client has relogged. + // The root folder appears to be labelled AssetType.Folder (shows up as "Category" in the client) + // even though there is a AssetType.RootCategory destFolder = new InventoryFolderBase( newFolderId, newFolderName, m_userInfo.UserProfile.ID, - (short)AssetType.Folder, destFolder.ID, 1); + (short)AssetType.Unknown, destFolder.ID, 1); m_scene.InventoryService.AddFolder(destFolder); // UUID newFolderId = UUID.Random(); diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index b178772fd7..7b4a9eb8e5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -410,4 +410,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver id); } } -} +} \ No newline at end of file