diff options
author | Justin Clarke Casey | 2008-10-14 14:27:00 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-10-14 14:27:00 +0000 |
commit | 8ab50fe3ee4f30e10f3b199b53f6d1120ea7eb5a (patch) | |
tree | 6e75bd8cff0c6e0cf148570e976d5481c96ad100 /OpenSim | |
parent | - convert comments into documentation (diff) | |
download | opensim-SC_OLD-8ab50fe3ee4f30e10f3b199b53f6d1120ea7eb5a.zip opensim-SC_OLD-8ab50fe3ee4f30e10f3b199b53f6d1120ea7eb5a.tar.gz opensim-SC_OLD-8ab50fe3ee4f30e10f3b199b53f6d1120ea7eb5a.tar.bz2 opensim-SC_OLD-8ab50fe3ee4f30e10f3b199b53f6d1120ea7eb5a.tar.xz |
* Make KillObjectPackets reliable
* This may help http://opensimulator.org/mantis/view.php?id=2377 where large linksets do not always correctly delete - since a lost kill packet to the client could result in
the symptoms described
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index ed4ac60..23c6df4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -1545,6 +1545,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1545 | OutPacket(pc, ThrottleOutPacketType.Unknown); | 1545 | OutPacket(pc, ThrottleOutPacketType.Unknown); |
1546 | } | 1546 | } |
1547 | 1547 | ||
1548 | /// <summary> | ||
1549 | /// Tell the client that an object has been deleted | ||
1550 | /// </summary> | ||
1551 | /// <param name="regionHandle"></param> | ||
1552 | /// <param name="localID"></param> | ||
1548 | public void SendKiPrimitive(ulong regionHandle, uint localID) | 1553 | public void SendKiPrimitive(ulong regionHandle, uint localID) |
1549 | { | 1554 | { |
1550 | KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject); | 1555 | KillObjectPacket kill = (KillObjectPacket)PacketPool.Instance.GetPacket(PacketType.KillObject); |
@@ -1552,7 +1557,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1552 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | 1557 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; |
1553 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | 1558 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); |
1554 | kill.ObjectData[0].ID = localID; | 1559 | kill.ObjectData[0].ID = localID; |
1555 | kill.Header.Reliable = false; | 1560 | kill.Header.Reliable = true; |
1556 | kill.Header.Zerocoded = true; | 1561 | kill.Header.Zerocoded = true; |
1557 | OutPacket(kill, ThrottleOutPacketType.Task); | 1562 | OutPacket(kill, ThrottleOutPacketType.Task); |
1558 | } | 1563 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 3414b26..55cc60a 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -1651,6 +1651,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1651 | item.AssetType = asset.Type; | 1651 | item.AssetType = asset.Type; |
1652 | item.InvType = (int)InventoryType.Object; | 1652 | item.InvType = (int)InventoryType.Object; |
1653 | item.Folder = folderID; | 1653 | item.Folder = folderID; |
1654 | |||
1654 | if ((remoteClient.AgentId != objectGroup.RootPart.OwnerID) && ExternalChecks.ExternalChecksPropagatePermissions()) | 1655 | if ((remoteClient.AgentId != objectGroup.RootPart.OwnerID) && ExternalChecks.ExternalChecksPropagatePermissions()) |
1655 | { | 1656 | { |
1656 | uint perms=objectGroup.GetEffectivePermissions(); | 1657 | uint perms=objectGroup.GetEffectivePermissions(); |