diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index d3ed228daa..5bfc6401e2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -5848,18 +5848,13 @@ 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; - p.ControllingClient.SendKillObject(myids); - p.SendFullKillsTo(this); + SendKillTo(p); + p.SendKillTo(this); } if (Scene.AttachmentsModule != null) Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); @@ -5869,7 +5864,7 @@ namespace OpenSim.Region.Framework.Scenes { List ids = new List(); foreach (SceneObjectGroup sog in m_attachments) - ids.Add(sog.RootPart.LocalId); + p.ControllingClient.SendPartFullUpdate(sog.RootPart, LocalId + 1); ids.Add(LocalId); p.ControllingClient.SendKillObject(ids); }