diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 04db123..09dc663 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1987,6 +1987,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1987 | { | 1987 | { |
1988 | // We need to keep track of this state in case this group is still queued for backup. | 1988 | // We need to keep track of this state in case this group is still queued for backup. |
1989 | IsDeleted = true; | 1989 | IsDeleted = true; |
1990 | HasGroupChanged = true; | ||
1990 | 1991 | ||
1991 | DetachFromBackup(); | 1992 | DetachFromBackup(); |
1992 | 1993 | ||
@@ -2010,7 +2011,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
2010 | if (!IsAttachment | 2011 | if (!IsAttachment |
2011 | || AttachedAvatar == avatar.ControllingClient.AgentId | 2012 | || AttachedAvatar == avatar.ControllingClient.AgentId |
2012 | || !HasPrivateAttachmentPoint) | 2013 | || !HasPrivateAttachmentPoint) |
2014 | { | ||
2015 | // Send a kill object immediately | ||
2013 | avatar.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); | 2016 | avatar.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); |
2017 | // Also, send a terse update; in case race conditions make the object pop again in the client, | ||
2018 | // this update will send another kill object | ||
2019 | m_rootPart.SendTerseUpdateToClient(avatar.ControllingClient); | ||
2020 | } | ||
2014 | } | 2021 | } |
2015 | } | 2022 | } |
2016 | }); | 2023 | }); |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 7d95c8d..b4feb9a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -5390,9 +5390,6 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter | |||
5390 | 5390 | ||
5391 | public void SendTerseUpdateToClient(IClientAPI remoteClient) | 5391 | public void SendTerseUpdateToClient(IClientAPI remoteClient) |
5392 | { | 5392 | { |
5393 | if (ParentGroup.IsDeleted) | ||
5394 | return; | ||
5395 | |||
5396 | if (ParentGroup.IsAttachment | 5393 | if (ParentGroup.IsAttachment |
5397 | && (ParentGroup.RootPart != this | 5394 | && (ParentGroup.RootPart != this |
5398 | || ParentGroup.AttachedAvatar != remoteClient.AgentId && ParentGroup.HasPrivateAttachmentPoint)) | 5395 | || ParentGroup.AttachedAvatar != remoteClient.AgentId && ParentGroup.HasPrivateAttachmentPoint)) |