diff options
author | Justin Clark-Casey (justincc) | 2012-04-07 00:40:55 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-04-07 00:40:55 +0100 |
commit | cce760dbfcd375a700e38b8279b0c19c5624e720 (patch) | |
tree | 901fb627f1237d36d5bcd25f0c23780ac6306b42 | |
parent | Store FromItemID for attachments once on SOG instead of on every SOP and only... (diff) | |
download | opensim-SC_OLD-cce760dbfcd375a700e38b8279b0c19c5624e720.zip opensim-SC_OLD-cce760dbfcd375a700e38b8279b0c19c5624e720.tar.gz opensim-SC_OLD-cce760dbfcd375a700e38b8279b0c19c5624e720.tar.bz2 opensim-SC_OLD-cce760dbfcd375a700e38b8279b0c19c5624e720.tar.xz |
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.
4 files changed, 19 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 619ef14..ae5cbff 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -4271,7 +4271,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4271 | block.OwnerID = sop.OwnerID; | 4271 | block.OwnerID = sop.OwnerID; |
4272 | 4272 | ||
4273 | block.ItemID = sop.FromUserInventoryItemID; | 4273 | block.ItemID = sop.FromUserInventoryItemID; |
4274 | block.FolderID = UUID.Zero; // sop.FromFolderID ?? | 4274 | block.FolderID = UUID.Zero; // sog.FromFolderID ?? |
4275 | block.FromTaskID = UUID.Zero; // ??? | 4275 | block.FromTaskID = UUID.Zero; // ??? |
4276 | block.InventorySerial = (short)sop.InventorySerial; | 4276 | block.InventorySerial = (short)sop.InventorySerial; |
4277 | 4277 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 88c21af..8171487 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -654,9 +654,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
654 | // | 654 | // |
655 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) | 655 | if (action == DeRezAction.Take || action == DeRezAction.TakeCopy) |
656 | { | 656 | { |
657 | if (so.RootPart.FromFolderID != UUID.Zero && userID == remoteClient.AgentId) | 657 | if (so.FromFolderID != UUID.Zero && userID == remoteClient.AgentId) |
658 | { | 658 | { |
659 | InventoryFolderBase f = new InventoryFolderBase(so.RootPart.FromFolderID, userID); | 659 | InventoryFolderBase f = new InventoryFolderBase(so.FromFolderID, userID); |
660 | folder = m_Scene.InventoryService.GetFolder(f); | 660 | folder = m_Scene.InventoryService.GetFolder(f); |
661 | } | 661 | } |
662 | } | 662 | } |
@@ -962,7 +962,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
962 | rootPart.SalePrice = item.SalePrice; | 962 | rootPart.SalePrice = item.SalePrice; |
963 | } | 963 | } |
964 | 964 | ||
965 | rootPart.FromFolderID = item.Folder; | 965 | so.FromFolderID = item.Folder; |
966 | 966 | ||
967 | // Console.WriteLine("rootPart.OwnedID {0}, item.Owner {1}, item.CurrentPermissions {2:X}", | 967 | // Console.WriteLine("rootPart.OwnedID {0}, item.Owner {1}, item.CurrentPermissions {2:X}", |
968 | // rootPart.OwnerID, item.Owner, item.CurrentPermissions); | 968 | // rootPart.OwnerID, item.Owner, item.CurrentPermissions); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3586e95..17f3be7 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -586,10 +586,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
586 | } | 586 | } |
587 | } | 587 | } |
588 | 588 | ||
589 | /// <summary> | 589 | /// <summary> |
590 | /// The item ID that this object was rezzed from, if applicable. | 590 | /// The item ID that this object was rezzed from, if applicable. |
591 | /// </summary> | 591 | /// </summary> |
592 | public UUID FromItemID { get; set; } | 592 | /// <remarks> |
593 | /// If not applicable will be UUID.Zero | ||
594 | /// </remarks> | ||
595 | public UUID FromItemID { get; set; } | ||
596 | |||
597 | /// <summary> | ||
598 | /// The folder ID that this object was rezzed from, if applicable. | ||
599 | /// </summary> | ||
600 | /// <remarks> | ||
601 | /// If not applicable will be UUID.Zero | ||
602 | /// </remarks> | ||
603 | public UUID FromFolderID { get; set; } | ||
593 | 604 | ||
594 | #endregion | 605 | #endregion |
595 | 606 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index fffaa06..046553b 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -182,8 +182,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
182 | 182 | ||
183 | public uint TimeStampTerse; | 183 | public uint TimeStampTerse; |
184 | 184 | ||
185 | public UUID FromFolderID; | ||
186 | |||
187 | public int STATUS_ROTATE_X; | 185 | public int STATUS_ROTATE_X; |
188 | 186 | ||
189 | public int STATUS_ROTATE_Y; | 187 | public int STATUS_ROTATE_Y; |