aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorUbitUmarov2015-12-10 14:00:43 +0000
committerUbitUmarov2015-12-10 14:00:43 +0000
commit62009ba9c02590f689d202da1753c91498f5b51d (patch)
treeacee356affc2af61db3eb029587a3128cba7929f /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
parentdont try to process packets for deleted clients (diff)
downloadopensim-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.cs18
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}