diff options
6 files changed, 15 insertions, 11 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 30acbdf..cf09cc9 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -11385,7 +11385,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11385 | { | 11385 | { |
11386 | // It's a ghost! tell the client to delete it from view. | 11386 | // It's a ghost! tell the client to delete it from view. |
11387 | simClient.SendKillObject(Scene.RegionInfo.RegionHandle, | 11387 | simClient.SendKillObject(Scene.RegionInfo.RegionHandle, |
11388 | new List<uint>() { localId }); | 11388 | new List<uint> { localId }); |
11389 | } | 11389 | } |
11390 | else | 11390 | else |
11391 | { | 11391 | { |
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index f8681e7..3881dcd 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | |||
@@ -548,6 +548,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
548 | 548 | ||
549 | if (!silent) | 549 | if (!silent) |
550 | { | 550 | { |
551 | // Killing it here will cause the client to deselect it | ||
552 | // It then reappears on the avatar, deselected | ||
553 | // through the full update below | ||
554 | // | ||
555 | if (so.IsSelected) | ||
556 | { | ||
557 | m_scene.SendKillObject(new List<uint> { so.RootPart.LocalId }); | ||
558 | } | ||
559 | |||
551 | so.IsSelected = false; // fudge.... | 560 | so.IsSelected = false; // fudge.... |
552 | so.ScheduleGroupForFullUpdate(); | 561 | so.ScheduleGroupForFullUpdate(); |
553 | } | 562 | } |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index e47d2a7..5431841 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -571,7 +571,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
571 | 571 | ||
572 | protected void KillEntity(Scene scene, uint localID) | 572 | protected void KillEntity(Scene scene, uint localID) |
573 | { | 573 | { |
574 | scene.SendKillObject(new List<uint>() { localID }); | 574 | scene.SendKillObject(new List<uint> { localID }); |
575 | } | 575 | } |
576 | 576 | ||
577 | protected virtual GridRegion GetFinalDestination(GridRegion region) | 577 | protected virtual GridRegion GetFinalDestination(GridRegion region) |
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs index 218f2c5..5dfd3e0 100644 --- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs +++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs | |||
@@ -107,8 +107,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
107 | List<uint> killIDs = new List<uint>(); | 107 | List<uint> killIDs = new List<uint>(); |
108 | 108 | ||
109 | foreach (SceneObjectGroup g in objectGroups) | 109 | foreach (SceneObjectGroup g in objectGroups) |
110 | { | 110 | { killIDs.Add(g.LocalId); |
111 | killIDs.Add(g.LocalId); | ||
112 | g.DeleteGroupFromScene(true); | 111 | g.DeleteGroupFromScene(true); |
113 | } | 112 | } |
114 | 113 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 962e5e1..e668790 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3230,7 +3230,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3230 | delegate(IClientAPI client) | 3230 | delegate(IClientAPI client) |
3231 | { | 3231 | { |
3232 | //We can safely ignore null reference exceptions. It means the avatar is dead and cleaned up anyway | 3232 | //We can safely ignore null reference exceptions. It means the avatar is dead and cleaned up anyway |
3233 | try { client.SendKillObject(avatar.RegionHandle, new List<uint>() { avatar.LocalId}); } | 3233 | try { client.SendKillObject(avatar.RegionHandle, new List<uint> { avatar.LocalId }); } |
3234 | catch (NullReferenceException) { } | 3234 | catch (NullReferenceException) { } |
3235 | }); | 3235 | }); |
3236 | 3236 | ||
@@ -3310,11 +3310,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3310 | } | 3310 | } |
3311 | deleteIDs.Add(localID); | 3311 | deleteIDs.Add(localID); |
3312 | } | 3312 | } |
3313 | 3313 | ForEachClient(delegate(IClientAPI client) { client.SendKillObject(m_regionHandle, deleteIDs); }); | |
3314 | ForEachClient(delegate(IClientAPI client) | ||
3315 | { | ||
3316 | client.SendKillObject(m_regionHandle, deleteIDs); | ||
3317 | }); | ||
3318 | } | 3314 | } |
3319 | 3315 | ||
3320 | #endregion | 3316 | #endregion |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 6e20f90..a12a17c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1485,7 +1485,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1485 | { | 1485 | { |
1486 | if (!IsAttachment || (AttachedAvatar == avatar.ControllingClient.AgentId) || | 1486 | if (!IsAttachment || (AttachedAvatar == avatar.ControllingClient.AgentId) || |
1487 | (AttachmentPoint < 31) || (AttachmentPoint > 38)) | 1487 | (AttachmentPoint < 31) || (AttachmentPoint > 38)) |
1488 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint>() {part.LocalId}); | 1488 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); |
1489 | } | 1489 | } |
1490 | } | 1490 | } |
1491 | }); | 1491 | }); |