diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index bf725accbf..5ce2516be3 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4911,7 +4911,7 @@ Label_GroupsDone: return true; } - return true; + return false; } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 90ad04a432..d505f11760 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -5689,10 +5689,9 @@ namespace OpenSim.Region.Framework.Scenes public void SendAttachmentScheduleUpdate(SceneObjectGroup sog) { - if (IsChildAgent || IsInTransit) + if (IsChildAgent || IsInTransit || IsDeleted) return; - SceneObjectPart[] origparts = sog.Parts; SceneObjectPart[] parts = new SceneObjectPart[origparts.Length]; PrimUpdateFlags[] flags = new PrimUpdateFlags[origparts.Length]; @@ -5726,7 +5725,7 @@ namespace OpenSim.Region.Framework.Scenes ++nparts; } - if (nparts == 0) + if (nparts == 0 || IsChildAgent || IsInTransit || IsDeleted) return; for (int i = 0; i < nparts; i++) @@ -5738,7 +5737,7 @@ namespace OpenSim.Region.Framework.Scenes List allPresences = m_scene.GetScenePresences(); foreach (ScenePresence p in allPresences) { - if (p == this) + if (p == this || p.IsDeleted) continue; if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)