From: Søren Sandmann Pedersen <s...@redhat.com>

Then check that we have the right version before accessing the
set_client_capabilities() function.
---
 server/red_worker.c |    8 ++++++--
 server/spice.h      |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/server/red_worker.c b/server/red_worker.c
index 81fffd7..3e78c63 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -10349,7 +10349,9 @@ static void handle_new_display_channel(RedWorker 
*worker, RedClient *client, Red
     spice_info("jpeg %s", display_channel->enable_jpeg ? "enabled" : 
"disabled");
     spice_info("zlib-over-glz %s", display_channel->enable_zlib_glz_wrap ? 
"enabled" : "disabled");
 
-    if (worker->qxl->st->qif->set_client_capabilities) {
+    if (worker->qxl->st->qif->base.major_version == 3 &&
+        worker->qxl->st->qif->base.minor_version >= 2 &&
+        worker->qxl->st->qif->set_client_capabilities) {
         RedChannelClient *rcc = (RedChannelClient *)dcc;
         uint8_t caps[58] = { 0 };
 
@@ -11227,7 +11229,9 @@ void handle_dev_display_disconnect(void *opaque, void 
*payload)
     spice_info("disconnect display client");
     spice_assert(rcc);
 
-    if (worker->qxl->st->qif->set_client_capabilities) {
+    if (worker->qxl->st->qif->base.major_version == 3 &&
+        worker->qxl->st->qif->base.minor_version >= 2 &&
+        worker->qxl->st->qif->set_client_capabilities) {
         uint8_t caps[58] = { 0 };
         worker->qxl->st->qif->set_client_capabilities(worker->qxl, FALSE, 
caps);
     }
diff --git a/server/spice.h b/server/spice.h
index 3152f8c..2b2ed36 100644
--- a/server/spice.h
+++ b/server/spice.h
@@ -96,7 +96,7 @@ struct SpiceCoreInterface {
 
 #define SPICE_INTERFACE_QXL "qxl"
 #define SPICE_INTERFACE_QXL_MAJOR 3
-#define SPICE_INTERFACE_QXL_MINOR 1
+#define SPICE_INTERFACE_QXL_MINOR 2
 typedef struct QXLInterface QXLInterface;
 typedef struct QXLInstance QXLInstance;
 typedef struct QXLState QXLState;
-- 
1.7.4

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

Reply via email to