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.
This commit is contained in:
Pierre Ossman 2020-09-07 12:58:52 +02:00
parent 3037eb16f7
commit b91b1e8edc
7 changed files with 46 additions and 6 deletions

View File

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

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}

View File

@ -17,7 +17,13 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
decoder.decodeRect(x, y, width, height, sock, display, depth);
});
// 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();
}