Mantis#1638. Thank you kindly, Salahzar for a patch that:
Addresses an unused field in the asset server but never get filled up. It also makes working the recent items tab in inventory :))))0.6.0-stable
parent
92cac0c6de
commit
d0fb5e8c90
|
@ -198,7 +198,7 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate void CreateNewInventoryItem(
|
public delegate void CreateNewInventoryItem(
|
||||||
IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name,
|
IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name,
|
||||||
sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask);
|
sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask, int creationDate);
|
||||||
|
|
||||||
public delegate void FetchInventoryDescendents(
|
public delegate void FetchInventoryDescendents(
|
||||||
IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
|
IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
|
||||||
|
|
|
@ -1762,6 +1762,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
InventoryReply.InventoryData[0].Flags = Item.Flags;
|
InventoryReply.InventoryData[0].Flags = Item.Flags;
|
||||||
InventoryReply.InventoryData[0].SalePrice = Item.SalePrice;
|
InventoryReply.InventoryData[0].SalePrice = Item.SalePrice;
|
||||||
InventoryReply.InventoryData[0].SaleType = Item.SaleType;
|
InventoryReply.InventoryData[0].SaleType = Item.SaleType;
|
||||||
|
InventoryReply.InventoryData[0].CreationDate = Item.CreationDate;
|
||||||
|
|
||||||
InventoryReply.InventoryData[0].CRC =
|
InventoryReply.InventoryData[0].CRC =
|
||||||
Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType,
|
Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType,
|
||||||
|
@ -5288,7 +5289,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
createItem.InventoryBlock.InvType,
|
createItem.InventoryBlock.InvType,
|
||||||
createItem.InventoryBlock.Type,
|
createItem.InventoryBlock.Type,
|
||||||
createItem.InventoryBlock.WearableType,
|
createItem.InventoryBlock.WearableType,
|
||||||
createItem.InventoryBlock.NextOwnerMask);
|
createItem.InventoryBlock.NextOwnerMask,
|
||||||
|
Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PacketType.FetchInventory:
|
case PacketType.FetchInventory:
|
||||||
|
|
|
@ -330,6 +330,13 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
//item.GroupID = itemUpd.GroupID;
|
//item.GroupID = itemUpd.GroupID;
|
||||||
//item.GroupOwned = itemUpd.GroupOwned;
|
//item.GroupOwned = itemUpd.GroupOwned;
|
||||||
//item.CreationDate = itemUpd.CreationDate;
|
//item.CreationDate = itemUpd.CreationDate;
|
||||||
|
// The client sends zero if its newly created?
|
||||||
|
|
||||||
|
if (itemUpd.CreationDate == 0)
|
||||||
|
item.CreationDate = Util.UnixTimeSinceEpoch();
|
||||||
|
else
|
||||||
|
item.CreationDate = itemUpd.CreationDate;
|
||||||
|
|
||||||
|
|
||||||
// TODO: Check if folder changed and move item
|
// TODO: Check if folder changed and move item
|
||||||
//item.NextPermissions = itemUpd.Folder;
|
//item.NextPermissions = itemUpd.Folder;
|
||||||
|
@ -448,6 +455,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
itemCopy.SalePrice = item.SalePrice;
|
itemCopy.SalePrice = item.SalePrice;
|
||||||
itemCopy.SaleType = item.SaleType;
|
itemCopy.SaleType = item.SaleType;
|
||||||
|
|
||||||
|
itemCopy.CreationDate = item.CreationDate;
|
||||||
|
|
||||||
recipientUserInfo.AddItem(itemCopy);
|
recipientUserInfo.AddItem(itemCopy);
|
||||||
|
|
||||||
if (!ExternalChecks.ExternalChecksBypassPermissions())
|
if (!ExternalChecks.ExternalChecksBypassPermissions())
|
||||||
|
@ -532,13 +541,13 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, newFolderID, item.Name, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
remoteClient, newFolderID, item.Name, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
||||||
item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, item.NextPermissions);
|
item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, item.NextPermissions, Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, newFolderID, item.Name, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
remoteClient, newFolderID, item.Name, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
||||||
item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, item.NextPermissions);
|
item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, item.NextPermissions, Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -634,15 +643,15 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
/// <param name="invType"></param>
|
/// <param name="invType"></param>
|
||||||
/// <param name="nextOwnerMask"></param>
|
/// <param name="nextOwnerMask"></param>
|
||||||
private void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID folderID, string name, uint flags, uint callbackID,
|
private void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID folderID, string name, uint flags, uint callbackID,
|
||||||
AssetBase asset, sbyte invType, uint nextOwnerMask)
|
AssetBase asset, sbyte invType, uint nextOwnerMask, int creationDate)
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, folderID, name, flags, callbackID, asset, invType,
|
remoteClient, folderID, name, flags, callbackID, asset, invType,
|
||||||
(uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask);
|
(uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, creationDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a new inventory item.
|
/// Create a new Inventory Item
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="remoteClient"></param>
|
/// <param name="remoteClient"></param>
|
||||||
/// <param name="folderID"></param>
|
/// <param name="folderID"></param>
|
||||||
|
@ -650,9 +659,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
/// <param name="asset"></param>
|
/// <param name="asset"></param>
|
||||||
/// <param name="invType"></param>
|
/// <param name="invType"></param>
|
||||||
/// <param name="nextOwnerMask"></param>
|
/// <param name="nextOwnerMask"></param>
|
||||||
|
/// <param name="creationDate"></param>
|
||||||
private void CreateNewInventoryItem(
|
private void CreateNewInventoryItem(
|
||||||
IClientAPI remoteClient, LLUUID folderID, string name, uint flags, uint callbackID, AssetBase asset, sbyte invType,
|
IClientAPI remoteClient, LLUUID folderID, string name, uint flags, uint callbackID, AssetBase asset, sbyte invType,
|
||||||
uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask)
|
uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, int creationDate)
|
||||||
{
|
{
|
||||||
CachedUserInfo userInfo
|
CachedUserInfo userInfo
|
||||||
= CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
|
= CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
|
||||||
|
@ -674,6 +684,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
item.NextPermissions = nextOwnerMask;
|
item.NextPermissions = nextOwnerMask;
|
||||||
item.EveryOnePermissions = everyoneMask;
|
item.EveryOnePermissions = everyoneMask;
|
||||||
item.BasePermissions = baseMask;
|
item.BasePermissions = baseMask;
|
||||||
|
item.CreationDate = creationDate;
|
||||||
|
|
||||||
userInfo.AddItem(item);
|
userInfo.AddItem(item);
|
||||||
remoteClient.SendInventoryItemCreateUpdate(item);
|
remoteClient.SendInventoryItemCreateUpdate(item);
|
||||||
|
@ -703,7 +714,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
public void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID transactionID, LLUUID folderID,
|
public void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID transactionID, LLUUID folderID,
|
||||||
uint callbackID, string description, string name, sbyte invType,
|
uint callbackID, string description, string name, sbyte invType,
|
||||||
sbyte assetType,
|
sbyte assetType,
|
||||||
byte wearableType, uint nextOwnerMask)
|
byte wearableType, uint nextOwnerMask, int creationDate)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[AGENT INVENTORY]: Received request to create inventory item {0} in folder {1}", name, folderID);
|
// m_log.DebugFormat("[AGENT INVENTORY]: Received request to create inventory item {0} in folder {1}", name, folderID);
|
||||||
|
|
||||||
|
@ -730,7 +741,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
AssetBase asset = CreateAsset(name, description, assetType, data);
|
AssetBase asset = CreateAsset(name, description, assetType, data);
|
||||||
AssetCache.AddAsset(asset);
|
AssetCache.AddAsset(asset);
|
||||||
|
|
||||||
CreateNewInventoryItem(remoteClient, folderID, asset.Name, 0, callbackID, asset, invType, nextOwnerMask);
|
CreateNewInventoryItem(remoteClient, folderID, asset.Name, 0, callbackID, asset, invType, nextOwnerMask, creationDate);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1664,6 +1675,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: add the new fields (Flags, Sale info, etc)
|
// TODO: add the new fields (Flags, Sale info, etc)
|
||||||
|
item.CreationDate = Util.UnixTimeSinceEpoch();
|
||||||
|
|
||||||
userInfo.AddItem(item);
|
userInfo.AddItem(item);
|
||||||
if (item.Owner == remoteClient.AgentId)
|
if (item.Owner == remoteClient.AgentId)
|
||||||
|
@ -1817,6 +1829,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
item.NextPermissions = objectGroup.RootPart.NextOwnerMask;
|
item.NextPermissions = objectGroup.RootPart.NextOwnerMask;
|
||||||
item.EveryOnePermissions = objectGroup.RootPart.EveryoneMask;
|
item.EveryOnePermissions = objectGroup.RootPart.EveryoneMask;
|
||||||
}
|
}
|
||||||
|
item.CreationDate = Util.UnixTimeSinceEpoch();
|
||||||
|
|
||||||
userInfo.AddItem(item);
|
userInfo.AddItem(item);
|
||||||
remoteClient.SendInventoryItemCreateUpdate(item);
|
remoteClient.SendInventoryItemCreateUpdate(item);
|
||||||
|
|
Loading…
Reference in New Issue