[Spice-devel] [spice-html5] Send the client cache size correctly in little endian order so we don't claim to have an infinitely large cache.
Jeremy White
jwhite at codeweavers.com
Fri Sep 13 13:42:29 PDT 2013
Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
spicedataview.js | 12 ++++++++++++
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;
},
--
1.7.10.4
More information about the Spice-devel
mailing list