diff options
author | Justin Clark-Casey (justincc) | 2010-08-10 16:00:35 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-08-10 16:00:35 +0100 |
commit | a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4 (patch) | |
tree | 52f517a2ab923fd26bf6f5b13321c01f73c77715 | |
parent | Even if all data migratios are up to date, still print the current revision t... (diff) | |
download | opensim-SC_OLD-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.zip opensim-SC_OLD-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.tar.gz opensim-SC_OLD-a5dab074a0fd50d8e2e35ad2981678f8c3e9f0e4.tar.bz2 opensim-SC_OLD-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.
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 6 |
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); |