* Remove a bug I created in r5171 where taking an object would terminate the client session

* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
This commit is contained in:
Justin Clarke Casey
2008-06-21 19:56:19 +00:00
parent ff56cb730b
commit b290ce405f
6 changed files with 40 additions and 14 deletions

View File

@@ -124,7 +124,7 @@ namespace OpenSim.Region.Environment.Scenes
{
get { return RootPart.Name; }
set { RootPart.Name = value; }
}
}
/// <summary>
/// Added because the Parcel code seems to use it
@@ -921,10 +921,16 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
/// Completely delete this group and tell all the scene presences about that deletion.
/// Delete this group from its scene and tell all the scene presences about that deletion.
/// </summary>
public void DeleteGroup()
{
// We need to keep track of this state in case this group is still queued for backup.
// FIXME: This is a poor temporary solution, since it still leaves plenty of scope for race
// conditions where a user deletes an entity while it is being stored. Really, the update
// code needs a redesign.
m_isDeleted = true;
DetachFromBackup(this);
lock (m_parts)
@@ -944,6 +950,7 @@ namespace OpenSim.Region.Environment.Scenes
}
}
}
public void FakeDeleteGroup()
{
foreach (SceneObjectPart part in m_parts.Values)