aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
diff options
context:
space:
mode:
authorMelanie2010-10-08 11:31:52 +0200
committerMelanie2010-10-08 11:31:52 +0200
commit52dd547863c0cdd22f53f0efcaef11ae096855a0 (patch)
treee1b545832530f02b3485a39826555e444423aad3 /OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
parentImplement rezzing coalesced objects (diff)
downloadopensim-SC-52dd547863c0cdd22f53f0efcaef11ae096855a0.zip
opensim-SC-52dd547863c0cdd22f53f0efcaef11ae096855a0.tar.gz
opensim-SC-52dd547863c0cdd22f53f0efcaef11ae096855a0.tar.bz2
opensim-SC-52dd547863c0cdd22f53f0efcaef11ae096855a0.tar.xz
Make SendKillObject send multiple localIDs in one packet. This avoids the
halting visual behavior of large group deletes and eliminates the packet flood
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
index 3a6996e..84c7f29 100644
--- a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
+++ b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMModel.cs
@@ -259,9 +259,10 @@ namespace OpenSim.Region.OptionalModules.ContentManagement
259 // I thought that the DeleteGroup() function would handle all of this, but it doesn't. I'm not sure WHAT it handles. 259 // I thought that the DeleteGroup() function would handle all of this, but it doesn't. I'm not sure WHAT it handles.
260 ((SceneObjectGroup)scene.Entities[uuid]).DetachFromBackup(); 260 ((SceneObjectGroup)scene.Entities[uuid]).DetachFromBackup();
261 scene.PhysicsScene.RemovePrim(((SceneObjectGroup)scene.Entities[uuid]).RootPart.PhysActor); 261 scene.PhysicsScene.RemovePrim(((SceneObjectGroup)scene.Entities[uuid]).RootPart.PhysActor);
262 scene.SendKillObject(scene.Entities[uuid].LocalId); 262 scene.SendKillObject(new List<uint>() { scene.Entities[uuid].LocalId });
263 scene.SceneGraph.DeleteSceneObject(uuid, false); 263 scene.SceneGraph.DeleteSceneObject(uuid, false);
264 ((SceneObjectGroup)scene.Entities[uuid]).DeleteGroupFromScene(false); 264 ((SceneObjectGroup)scene.Entities[uuid]).DeleteGroupFromScene(false);
265 scene.SendKillObject(new List<uint>() { ((SceneObjectGroup)scene.Entities[uuid]).LocalId });
265 } 266 }
266 catch(Exception e) 267 catch(Exception e)
267 { 268 {