diff options
author | Jeremy White <jwhite@codeweavers.com> | 2013-09-13 15:39:17 -0500 |
---|---|---|
committer | Jeremy White <jwhite@codeweavers.com> | 2013-09-13 15:39:17 -0500 |
commit | 3056d62ae2c305362f1437744d14ab18900efc26 (patch) | |
tree | 7aa92a05ca665fc62f6d63d898f053e750a684bb | |
parent | 366c0a3fca91ec8229f95a7583f8fefad2d32350 (diff) |
Send the client cache size correctly in little endian order so we
don't claim to have an infinitely large cache.
-rw-r--r-- | spicedataview.js | 12 | ||||
-rw-r--r-- | spicemsg.js | 3 |
2 files changed, 13 insertions, 2 deletions
diff --git a/spicedataview.js b/spicedataview.js index ef9555d..43f0170 100644 --- a/spicedataview.js +++ b/spicedataview.js @@ -93,4 +93,16 @@ SpiceDataView.prototype = { this.setUint16(byteOffset + high, (w & 0xffffffff) >> 16, littleEndian); this.setUint16(byteOffset + low, (w & 0x0000ffff), littleEndian); }, + setUint64: function(byteOffset, w, littleEndian) + { + var low = 4, high = 0; + if (littleEndian) + { + low = 0; + high = 4; + } + + this.setUint32(byteOffset + high, (w & 0xffffffffffffffff) >> 32, littleEndian); + this.setUint32(byteOffset + low, (w & 0x00000000ffffffff), littleEndian); + }, } diff --git a/spicemsg.js b/spicemsg.js index 365fdf7..e342d6a 100644 --- a/spicemsg.js +++ b/spicemsg.js @@ -445,8 +445,7 @@ SpiceMsgcDisplayInit.prototype = at = at || 0; var dv = new SpiceDataView(a); dv.setUint8(at, this.pixmap_cache_id, true); at++; - dv.setUint32(at, 0, true); at += 4; - dv.setUint32(at, this.pixmap_cache_size, true); at += 4; + dv.setUint64(at, this.pixmap_cache_size, true); at += 8; dv.setUint8(at, this.glz_dictionary_id, true); at++; dv.setUint32(at, this.glz_dictionary_window_size, true); at += 4; }, |