From be02fb3904dbe8f7071ad393229c3e04b08bb697 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 21 Aug 2014 23:43:06 +0100 Subject: [PATCH] replace hack by sog kills on tp out --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fd1ec82791..260dfc8962 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -5848,18 +5848,32 @@ namespace OpenSim.Region.Framework.Scenes public void HasMovedAway() { + List myids = new List(); + foreach (SceneObjectGroup sog in m_attachments) + myids.Add(sog.RootPart.LocalId); + myids.Add(LocalId); + List allpresences = m_scene.GetScenePresences(); foreach (ScenePresence p in allpresences) { if (p == this) continue; - SendKillTo(p); + p.ControllingClient.SendKillObject(myids); p.SendKillTo(this); } if (Scene.AttachmentsModule != null) Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); } + public void SendFullKillsTo(ScenePresence p) + { + List ids = new List(); + foreach (SceneObjectGroup sog in m_attachments) + ids.Add(sog.RootPart.LocalId); + ids.Add(LocalId); + p.ControllingClient.SendKillObject(ids); + } + public void SendKillTo(ScenePresence p) { foreach (SceneObjectGroup sog in m_attachments)