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 9e7a986..3b2f537 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1221,11 +1221,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1221 | /// <summary> | 1221 | /// <summary> |
1222 | /// Delete this group from its scene. | 1222 | /// Delete this group from its scene. |
1223 | /// </summary> | 1223 | /// </summary> |
1224 | /// | 1224 | /// <remarks> |
1225 | /// This only handles the in-world consequences of deletion (e.g. any avatars sitting on it are forcibly stood | 1225 | /// This only handles the in-world consequences of deletion (e.g. any avatars sitting on it are forcibly stood |
1226 | /// up and all avatars receive notification of its removal. Removal of the scene object from database backup | 1226 | /// up and all avatars receive notification of its removal. Removal of the scene object from database backup |
1227 | /// must be handled by the caller. | 1227 | /// must be handled by the caller. |
1228 | /// | 1228 | /// </remarks> |
1229 | /// <param name="silent">If true then deletion is not broadcast to clients</param> | 1229 | /// <param name="silent">If true then deletion is not broadcast to clients</param> |
1230 | public void DeleteGroupFromScene(bool silent) | 1230 | public void DeleteGroupFromScene(bool silent) |
1231 | { | 1231 | { |
@@ -1234,10 +1234,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1234 | { | 1234 | { |
1235 | SceneObjectPart part = parts[i]; | 1235 | SceneObjectPart part = parts[i]; |
1236 | 1236 | ||
1237 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) | 1237 | Scene.ForEachScenePresence(sp => |
1238 | { | 1238 | { |
1239 | if (avatar.ParentID == LocalId) | 1239 | if (!sp.IsChildAgent && sp.ParentID == LocalId) |
1240 | avatar.StandUp(); | 1240 | sp.StandUp(); |
1241 | 1241 | ||
1242 | if (!silent) | 1242 | if (!silent) |
1243 | { | 1243 | { |
@@ -1245,9 +1245,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1245 | if (part == m_rootPart) | 1245 | if (part == m_rootPart) |
1246 | { | 1246 | { |
1247 | if (!IsAttachment | 1247 | if (!IsAttachment |
1248 | || AttachedAvatar == avatar.ControllingClient.AgentId | 1248 | || AttachedAvatar == sp.UUID |
1249 | || !HasPrivateAttachmentPoint) | 1249 | || !HasPrivateAttachmentPoint) |
1250 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | 1250 | sp.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); |
1251 | } | 1251 | } |
1252 | } | 1252 | } |
1253 | }); | 1253 | }); |