diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 69fb6df..92e4fce 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1857,11 +1857,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1857 | /// <summary> | 1857 | /// <summary> |
1858 | /// Delete this group from its scene. | 1858 | /// Delete this group from its scene. |
1859 | /// </summary> | 1859 | /// </summary> |
1860 | /// | 1860 | /// <remarks> |
1861 | /// This only handles the in-world consequences of deletion (e.g. any avatars sitting on it are forcibly stood | 1861 | /// This only handles the in-world consequences of deletion (e.g. any avatars sitting on it are forcibly stood |
1862 | /// up and all avatars receive notification of its removal. Removal of the scene object from database backup | 1862 | /// up and all avatars receive notification of its removal. Removal of the scene object from database backup |
1863 | /// must be handled by the caller. | 1863 | /// must be handled by the caller. |
1864 | /// | 1864 | /// </remarks> |
1865 | /// <param name="silent">If true then deletion is not broadcast to clients</param> | 1865 | /// <param name="silent">If true then deletion is not broadcast to clients</param> |
1866 | public void DeleteGroupFromScene(bool silent) | 1866 | public void DeleteGroupFromScene(bool silent) |
1867 | { | 1867 | { |
@@ -1875,10 +1875,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1875 | { | 1875 | { |
1876 | SceneObjectPart part = parts[i]; | 1876 | SceneObjectPart part = parts[i]; |
1877 | 1877 | ||
1878 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) | 1878 | Scene.ForEachScenePresence(sp => |
1879 | { | 1879 | { |
1880 | if (avatar.ParentID == LocalId) | 1880 | if (!sp.IsChildAgent && sp.ParentID == LocalId) |
1881 | avatar.StandUp(); | 1881 | sp.StandUp(); |
1882 | 1882 | ||
1883 | if (!silent) | 1883 | if (!silent) |
1884 | { | 1884 | { |
@@ -1886,9 +1886,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1886 | if (part == m_rootPart) | 1886 | if (part == m_rootPart) |
1887 | { | 1887 | { |
1888 | if (!IsAttachment | 1888 | if (!IsAttachment |
1889 | || AttachedAvatar == avatar.ControllingClient.AgentId | 1889 | || AttachedAvatar == sp.UUID |
1890 | || !HasPrivateAttachmentPoint) | 1890 | || !HasPrivateAttachmentPoint) |
1891 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | 1891 | sp.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); |
1892 | } | 1892 | } |
1893 | } | 1893 | } |
1894 | }); | 1894 | }); |