aboutsummaryrefslogtreecommitdiff
path: root/nxcomp/ServerChannel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nxcomp/ServerChannel.cpp')
-rwxr-xr-xnxcomp/ServerChannel.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/nxcomp/ServerChannel.cpp b/nxcomp/ServerChannel.cpp
index ba731c5ab..8df4bad94 100755
--- a/nxcomp/ServerChannel.cpp
+++ b/nxcomp/ServerChannel.cpp
@@ -2753,8 +2753,18 @@ int ServerChannel::handleWrite(const unsigned char *message, unsigned int length
}
unsigned int numPoints;
- decodeBuffer.decodeCachedValue(numPoints, 14,
- clientCache_ -> fillPolyNumPointsCache, 4);
+
+ if (control -> isProtoStep10() == 1)
+ {
+ decodeBuffer.decodeCachedValue(numPoints, 16,
+ clientCache_ -> fillPolyNumPointsCache, 4);
+ }
+ else
+ {
+ decodeBuffer.decodeCachedValue(numPoints, 14,
+ clientCache_ -> fillPolyNumPointsCache, 4);
+ }
+
outputLength = 16 + (numPoints << 2);
outputMessage = writeBuffer_.addMessage(outputLength);
decodeBuffer.decodeXidValue(value, clientCache_ -> drawableCache);