aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-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)