Rather than having a FromFolderID property on every single prim and only ever using the root prim one, store on SOG instead.
This reduces pointless memory usage.0.7.4.1
parent
7d8bb33c5b
commit
cce760dbfc
|
@ -4271,7 +4271,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
block.OwnerID = sop.OwnerID;
|
block.OwnerID = sop.OwnerID;
|
||||||
|
|
||||||
block.ItemID = sop.FromUserInventoryItemID;
|
block.ItemID = sop.FromUserInventoryItemID;
|
||||||
block.FolderID = UUID.Zero; // sop.FromFolderID ??
|
block.FolderID = UUID.Zero; // sog.FromFolderID ??
|
||||||
block.FromTaskID = UUID.Zero; // ???
|
block.FromTaskID = UUID.Zero; // ???
|
||||||
block.InventorySerial = (short)sop.InventorySerial;
|
block.InventorySerial = (short)sop.InventorySerial;
|
||||||
|
|
||||||
|
|
|
@ -654,9 +654,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
//
|
//
|
||||||
if (action == DeRezAction.Take || action == DeRezAction.TakeCopy)
|
if (action == DeRezAction.Take || action == DeRezAction.TakeCopy)
|
||||||
{
|
{
|
||||||
if (so.RootPart.FromFolderID != UUID.Zero && userID == remoteClient.AgentId)
|
if (so.FromFolderID != UUID.Zero && userID == remoteClient.AgentId)
|
||||||
{
|
{
|
||||||
InventoryFolderBase f = new InventoryFolderBase(so.RootPart.FromFolderID, userID);
|
InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID);
|
||||||
folder = m_Scene.InventoryService.GetFolder(f);
|
folder = m_Scene.InventoryService.GetFolder(f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -962,7 +962,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
rootPart.SalePrice = item.SalePrice;
|
rootPart.SalePrice = item.SalePrice;
|
||||||
}
|
}
|
||||||
|
|
||||||
rootPart.FromFolderID = item.Folder;
|
so.FromFolderID = item.Folder;
|
||||||
|
|
||||||
// Console.WriteLine("rootPart.OwnedID {0}, item.Owner {1}, item.CurrentPermissions {2:X}",
|
// Console.WriteLine("rootPart.OwnedID {0}, item.Owner {1}, item.CurrentPermissions {2:X}",
|
||||||
// rootPart.OwnerID, item.Owner, item.CurrentPermissions);
|
// rootPart.OwnerID, item.Owner, item.CurrentPermissions);
|
||||||
|
|
|
@ -589,8 +589,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The item ID that this object was rezzed from, if applicable.
|
/// The item ID that this object was rezzed from, if applicable.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// If not applicable will be UUID.Zero
|
||||||
|
/// </remarks>
|
||||||
public UUID FromItemID { get; set; }
|
public UUID FromItemID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The folder ID that this object was rezzed from, if applicable.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// If not applicable will be UUID.Zero
|
||||||
|
/// </remarks>
|
||||||
|
public UUID FromFolderID { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// ~SceneObjectGroup()
|
// ~SceneObjectGroup()
|
||||||
|
|
|
@ -182,8 +182,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public uint TimeStampTerse;
|
public uint TimeStampTerse;
|
||||||
|
|
||||||
public UUID FromFolderID;
|
|
||||||
|
|
||||||
public int STATUS_ROTATE_X;
|
public int STATUS_ROTATE_X;
|
||||||
|
|
||||||
public int STATUS_ROTATE_Y;
|
public int STATUS_ROTATE_Y;
|
||||||
|
|
Loading…
Reference in New Issue