[spice-html5] Send the client cache size correctly in little endian order so we don't claim to have an infinitely large cache.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
---
 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


_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]