summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy White <jwhite@codeweavers.com>2013-09-13 15:39:17 -0500
committerJeremy White <jwhite@codeweavers.com>2013-09-13 15:39:17 -0500
commit3056d62ae2c305362f1437744d14ab18900efc26 (patch)
tree7aa92a05ca665fc62f6d63d898f053e750a684bb
parent366c0a3fca91ec8229f95a7583f8fefad2d32350 (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.js12
-rw-r--r--spicemsg.js3
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;
},