From 2a0e5a049115432ae752483a28904d8a44b8d6bf Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 29 May 2015 16:40:53 -0500 Subject: [PATCH] Fix mouse batching when the delta is negative --- limelight-common/InputStream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/limelight-common/InputStream.c b/limelight-common/InputStream.c index f0a6c50..a09653d 100644 --- a/limelight-common/InputStream.c +++ b/limelight-common/InputStream.c @@ -196,8 +196,8 @@ static void inputSendThreadProc(void* context) { // If it's a mouse move packet, we can also do batching else if (holder->packet.mouseMove.header.packetType == htonl(PACKET_TYPE_MOUSE_MOVE)) { PPACKET_HOLDER mouseBatchHolder; - int totalDeltaX = htons(holder->packet.mouseMove.deltaX); - int totalDeltaY = htons(holder->packet.mouseMove.deltaY); + int totalDeltaX = (short)htons(holder->packet.mouseMove.deltaX); + int totalDeltaY = (short)htons(holder->packet.mouseMove.deltaY); for (;;) { int partialDeltaX; @@ -213,8 +213,8 @@ static void inputSendThreadProc(void* context) { break; } - partialDeltaX = htons(mouseBatchHolder->packet.mouseMove.deltaX); - partialDeltaY = htons(mouseBatchHolder->packet.mouseMove.deltaY); + partialDeltaX = (short)htons(mouseBatchHolder->packet.mouseMove.deltaX); + partialDeltaY = (short)htons(mouseBatchHolder->packet.mouseMove.deltaY); // Check for overflow if (partialDeltaX + totalDeltaX > INT16_MAX ||