diff options
author | UbitUmarov | 2015-12-10 14:00:43 +0000 |
---|---|---|
committer | UbitUmarov | 2015-12-10 14:00:43 +0000 |
commit | 62009ba9c02590f689d202da1753c91498f5b51d (patch) | |
tree | acee356affc2af61db3eb029587a3128cba7929f /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |
parent | dont try to process packets for deleted clients (diff) | |
download | opensim-SC_OLD-62009ba9c02590f689d202da1753c91498f5b51d.zip opensim-SC_OLD-62009ba9c02590f689d202da1753c91498f5b51d.tar.gz opensim-SC_OLD-62009ba9c02590f689d202da1753c91498f5b51d.tar.bz2 opensim-SC_OLD-62009ba9c02590f689d202da1753c91498f5b51d.tar.xz |
remove some SOG references on delete to help GC
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 71d9017..473c802 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -764,6 +764,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
764 | } | 764 | } |
765 | avsToCross.Clear(); | 765 | avsToCross.Clear(); |
766 | sog.RemoveScriptInstances(true); | 766 | sog.RemoveScriptInstances(true); |
767 | sog.Clear(); | ||
767 | return sog; | 768 | return sog; |
768 | } | 769 | } |
769 | else // cross failed, put avas back ?? | 770 | else // cross failed, put avas back ?? |
@@ -2245,7 +2246,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2245 | { | 2246 | { |
2246 | part.Inventory.ProcessInventoryBackup(datastore); | 2247 | part.Inventory.ProcessInventoryBackup(datastore); |
2247 | 2248 | ||
2248 | // take the change to delete things | ||
2249 | if(part.KeyframeMotion != null) | 2249 | if(part.KeyframeMotion != null) |
2250 | { | 2250 | { |
2251 | part.KeyframeMotion.Delete(); | 2251 | part.KeyframeMotion.Delete(); |
@@ -2253,7 +2253,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2253 | } | 2253 | } |
2254 | }); | 2254 | }); |
2255 | 2255 | ||
2256 | 2256 | backup_group.Clear(); | |
2257 | backup_group = null; | 2257 | backup_group = null; |
2258 | } | 2258 | } |
2259 | // else | 2259 | // else |
@@ -4846,6 +4846,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
4846 | }); | 4846 | }); |
4847 | } | 4847 | } |
4848 | 4848 | ||
4849 | // clear some references to easy cg | ||
4850 | public void Clear() | ||
4851 | { | ||
4852 | m_parts.Clear(); | ||
4853 | m_sittingAvatars.Clear(); | ||
4854 | m_rootPart = null; | ||
4855 | |||
4856 | m_PlaySoundMasterPrim = null; | ||
4857 | m_PlaySoundSlavePrims.Clear(); | ||
4858 | m_LoopSoundMasterPrim = null; | ||
4859 | m_targets.Clear(); | ||
4860 | } | ||
4861 | |||
4849 | #endregion | 4862 | #endregion |
4850 | } | 4863 | } |
4864 | |||
4851 | } | 4865 | } |