Make SendKillObject send multiple localIDs in one packet. This avoids the

halting visual behavior of large group deletes and eliminates the packet flood
This commit is contained in:
Melanie
2010-10-08 11:31:52 +02:00
parent ba0afa53d3
commit 52dd547863
19 changed files with 79 additions and 53 deletions

View File

@@ -1709,7 +1709,7 @@ namespace OpenSim.Region.Framework.Scenes
if (part == null)
{
//Client still thinks the object exists, kill it
SendKillObject(localID);
deleteIDs.Add(localID);
continue;
}
@@ -1717,7 +1717,7 @@ namespace OpenSim.Region.Framework.Scenes
if (part.ParentGroup == null || part.ParentGroup.IsDeleted)
{
//Client still thinks the object exists, kill it
SendKillObject(localID);
deleteIDs.Add(localID);
continue;
}
@@ -1727,8 +1727,8 @@ namespace OpenSim.Region.Framework.Scenes
SceneObjectGroup grp = part.ParentGroup;
deleteIDs.Add(localID);
deleteGroups.Add(grp);
deleteIDs.Add(grp.LocalId);
if (remoteClient == null)
{
@@ -1811,6 +1811,8 @@ namespace OpenSim.Region.Framework.Scenes
}
}
SendKillObject(deleteIDs);
if (permissionToTake)
{
m_asyncSceneObjectDeleter.DeleteToInventory(