aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2014-08-21 23:43:06 +0100
committerUbitUmarov2014-08-21 23:43:06 +0100
commitbe02fb3904dbe8f7071ad393229c3e04b08bb697 (patch)
treea1b23ae91d54395da947e1800f21c5ecc5571c4b
parent make the hack more extensive. Forbid sog/sop updates if Intransit but (diff)
downloadopensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.zip
opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.gz
opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.bz2
opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.xz
replace hack by sog kills on tp out
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index fd1ec82..260dfc8 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -5848,18 +5848,32 @@ namespace OpenSim.Region.Framework.Scenes
5848 5848
5849 public void HasMovedAway() 5849 public void HasMovedAway()
5850 { 5850 {
5851 List<uint> myids = new List<uint>();
5852 foreach (SceneObjectGroup sog in m_attachments)
5853 myids.Add(sog.RootPart.LocalId);
5854 myids.Add(LocalId);
5855
5851 List<ScenePresence> allpresences = m_scene.GetScenePresences(); 5856 List<ScenePresence> allpresences = m_scene.GetScenePresences();
5852 foreach (ScenePresence p in allpresences) 5857 foreach (ScenePresence p in allpresences)
5853 { 5858 {
5854 if (p == this) 5859 if (p == this)
5855 continue; 5860 continue;
5856 SendKillTo(p); 5861 p.ControllingClient.SendKillObject(myids);
5857 p.SendKillTo(this); 5862 p.SendKillTo(this);
5858 } 5863 }
5859 if (Scene.AttachmentsModule != null) 5864 if (Scene.AttachmentsModule != null)
5860 Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); 5865 Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true);
5861 } 5866 }
5862 5867
5868 public void SendFullKillsTo(ScenePresence p)
5869 {
5870 List<uint> ids = new List<uint>();
5871 foreach (SceneObjectGroup sog in m_attachments)
5872 ids.Add(sog.RootPart.LocalId);
5873 ids.Add(LocalId);
5874 p.ControllingClient.SendKillObject(ids);
5875 }
5876
5863 public void SendKillTo(ScenePresence p) 5877 public void SendKillTo(ScenePresence p)
5864 { 5878 {
5865 foreach (SceneObjectGroup sog in m_attachments) 5879 foreach (SceneObjectGroup sog in m_attachments)