Handle empty rects in RAW decoder as well

It was overlooked in the previous commit because we couldn't feed
empty data messages through the test framework.
pull/36/head
Pierre Ossman 5 years ago committed by Lauri Kasanen
parent 6d1cebc24a
commit 33a113a475

@ -13,6 +13,10 @@ export default class RawDecoder {
} }
decodeRect(x, y, width, height, sock, display, depth) { decodeRect(x, y, width, height, sock, display, depth) {
if ((width === 0) || (height === 0)) {
return true;
}
if (this._lines === 0) { if (this._lines === 0) {
this._lines = height; this._lines = height;
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth); decoder.decodeRect(x, y, width, height, sock, display, depth);
}); });
sock._websocket._receiveData(new Uint8Array(data)); // Empty messages are filtered at multiple layers, so we need to
// do a direct call
if (data.length === 0) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
} else {
sock._websocket._receiveData(new Uint8Array(data));
}
display.flip(); display.flip();
} }

Loading…
Cancel
Save