aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-04-07 00:40:55 +0100
committerJustin Clark-Casey (justincc)2012-04-07 00:40:55 +0100
commitcce760dbfcd375a700e38b8279b0c19c5624e720 (patch)
tree901fb627f1237d36d5bcd25f0c23780ac6306b42 /OpenSim
parentStore FromItemID for attachments once on SOG instead of on every SOP and only... (diff)
downloadopensim-SC-cce760dbfcd375a700e38b8279b0c19c5624e720.zip
opensim-SC-cce760dbfcd375a700e38b8279b0c19c5624e720.tar.gz
opensim-SC-cce760dbfcd375a700e38b8279b0c19c5624e720.tar.bz2
opensim-SC-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.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs2
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs19
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
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;