aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-08-10 16:00:35 +0100
committerJustin Clark-Casey (justincc)2010-08-10 16:00:35 +0100
commita5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4 (patch)
tree52f517a2ab923fd26bf6f5b13321c01f73c77715 /OpenSim
parentEven if all data migratios are up to date, still print the current revision t... (diff)
downloadopensim-SC-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.zip
opensim-SC-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.tar.gz
opensim-SC-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.tar.bz2
opensim-SC-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.tar.xz
Handle incoming ObjectImage (TextureEntry) updates synchronously rather than asynchronously
At least on stock Linden clients, updating the texture on all faces of the prim will actually send an ObjectImage packet for each update. There is a race condition if these are handled async, meaning that occasionally not all of the faces are correctly updated.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index df2690e..87a5832 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4731,7 +4731,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4731 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); 4731 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale);
4732 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); 4732 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
4733 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); 4733 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
4734 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); 4734
4735 // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once,
4736 // some clients will send out a separate ObjectImage packet for each face
4737 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false);
4738
4735 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); 4739 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
4736 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); 4740 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
4737 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); 4741 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);