aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-08-10 16:00:35 +0100
committerJustin Clark-Casey (justincc)2010-08-10 20:22:26 +0100
commit5d53789a49f6464596497dbb5ea05f022e60993d (patch)
tree5276daae8414e5e438cc6485d0b9c12c522f05d3
parentEnforce DB limits on region name to 32 chars, or else (not good). Removed a p... (diff)
downloadopensim-SC_OLD-5d53789a49f6464596497dbb5ea05f022e60993d.zip
opensim-SC_OLD-5d53789a49f6464596497dbb5ea05f022e60993d.tar.gz
opensim-SC_OLD-5d53789a49f6464596497dbb5ea05f022e60993d.tar.bz2
opensim-SC_OLD-5d53789a49f6464596497dbb5ea05f022e60993d.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.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 540fccc..d3e8141 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4735,7 +4735,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4735 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); 4735 AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale);
4736 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); 4736 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
4737 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); 4737 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
4738 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); 4738
4739 // Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once,
4740 // some clients will send out a separate ObjectImage packet for each face
4741 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false);
4742
4739 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); 4743 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
4740 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); 4744 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
4741 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); 4745 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);