If the client requests that an object be deleted, and the SOG/SOP is null and/or is marked as deleted, just send the KillObject

avinationmerge
Tom Grimshaw 2010-07-18 06:01:26 -07:00
parent fabe2206db
commit c088397ec7
1 changed files with 8 additions and 0 deletions

View File

@ -1700,11 +1700,19 @@ namespace OpenSim.Region.Framework.Scenes
// Invalid id // Invalid id
SceneObjectPart part = GetSceneObjectPart(localID); SceneObjectPart part = GetSceneObjectPart(localID);
if (part == null) if (part == null)
{
//Client still thinks the object exists, kill it
SendKillObject(localID);
continue; continue;
}
// Already deleted by someone else // Already deleted by someone else
if (part.ParentGroup == null || part.ParentGroup.IsDeleted) if (part.ParentGroup == null || part.ParentGroup.IsDeleted)
{
//Client still thinks the object exists, kill it
SendKillObject(localID);
continue; continue;
}
// Can't delete child prims // Can't delete child prims
if (part != part.ParentGroup.RootPart) if (part != part.ParentGroup.RootPart)