* Make sure that deleted objects do not send further object updates to the client

0.6.1-post-fixes
Justin Clarke Casey 2008-11-17 16:33:41 +00:00
parent dcfd343a1e
commit 99bd7cce2b
3 changed files with 11 additions and 16 deletions

View File

@ -131,7 +131,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
catch (Exception e) catch (Exception e)
{ {
m_log.DebugFormat("Exception background deleting object: " +e); m_log.DebugFormat("Exception background deleting object: " + e);
} }
return true; return true;

View File

@ -1682,6 +1682,9 @@ namespace OpenSim.Region.Environment.Scenes
/// </summary> /// </summary>
public void SendGroupFullUpdate() public void SendGroupFullUpdate()
{ {
if (IsDeleted)
return;
RootPart.SendFullUpdateToAllClients(); RootPart.SendFullUpdateToAllClients();
lock (m_parts) lock (m_parts)
@ -1704,6 +1707,9 @@ namespace OpenSim.Region.Environment.Scenes
/// </summary> /// </summary>
public void SendGroupTerseUpdate() public void SendGroupTerseUpdate()
{ {
if (IsDeleted)
return;
lock (m_parts) lock (m_parts)
{ {
foreach (SceneObjectPart part in m_parts.Values) foreach (SceneObjectPart part in m_parts.Values)

View File

@ -2074,6 +2074,9 @@ if (m_shape != null) {
// //
if (ParentGroup.IsSelected && IsAttachment) if (ParentGroup.IsSelected && IsAttachment)
return; return;
if (ParentGroup.IsDeleted)
return;
clientFlags &= ~(uint) PrimFlags.CreateSelected; clientFlags &= ~(uint) PrimFlags.CreateSelected;
@ -2179,16 +2182,7 @@ if (m_shape != null) {
} }
/// <summary> /// <summary>
/// Send a terse update to the client. /// Send a terse update to all clients
/// </summary>
/// <param name="remoteClient"></param>
// public void SendTerseUpdate(IClientAPI remoteClient)
// {
// SendTerseUpdateToClient(remoteClient);
// }
/// <summary>
///
/// </summary> /// </summary>
public void SendTerseUpdateToAllClients() 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) public void SetAttachmentPoint(uint AttachmentPoint)
{ {
this.AttachmentPoint = AttachmentPoint; this.AttachmentPoint = AttachmentPoint;