From 99bd7cce2b4be9c3c1c5de6da0343493a7241630 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Mon, 17 Nov 2008 16:33:41 +0000
Subject: * Make sure that deleted objects do not send further object updates
to the client
---
.../Scenes/AsyncSceneObjectGroupDeleter.cs | 2 +-
OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 6 ++++++
OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 19 ++++---------------
3 files changed, 11 insertions(+), 16 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes')
diff --git a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
index b011600..58e0ca3 100644
--- a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -131,7 +131,7 @@ namespace OpenSim.Region.Environment.Scenes
}
catch (Exception e)
{
- m_log.DebugFormat("Exception background deleting object: " +e);
+ m_log.DebugFormat("Exception background deleting object: " + e);
}
return true;
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 91caada..bf430b9 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1682,6 +1682,9 @@ namespace OpenSim.Region.Environment.Scenes
///
public void SendGroupFullUpdate()
{
+ if (IsDeleted)
+ return;
+
RootPart.SendFullUpdateToAllClients();
lock (m_parts)
@@ -1704,6 +1707,9 @@ namespace OpenSim.Region.Environment.Scenes
///
public void SendGroupTerseUpdate()
{
+ if (IsDeleted)
+ return;
+
lock (m_parts)
{
foreach (SceneObjectPart part in m_parts.Values)
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 74fa725..fa656f6 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2074,6 +2074,9 @@ if (m_shape != null) {
//
if (ParentGroup.IsSelected && IsAttachment)
return;
+
+ if (ParentGroup.IsDeleted)
+ return;
clientFlags &= ~(uint) PrimFlags.CreateSelected;
@@ -2179,16 +2182,7 @@ if (m_shape != null) {
}
///
- /// Send a terse update to the client.
- ///
- ///
-// public void SendTerseUpdate(IClientAPI remoteClient)
-// {
-// SendTerseUpdateToClient(remoteClient);
-// }
-
- ///
- ///
+ /// Send a terse update to all clients
///
public void SendTerseUpdateToAllClients()
{
@@ -2199,11 +2193,6 @@ if (m_shape != null) {
}
}
-// public void SendTerseUpdateToClient(IClientAPI remoteClient, Vector3 lPos)
-// {
-// SendTerseUpdateToClient(remoteclient);
-// }
-
public void SetAttachmentPoint(uint AttachmentPoint)
{
this.AttachmentPoint = AttachmentPoint;
--
cgit v1.1