[virt-tools-list] [PATCH] build-sys: lower spice-gtk requirement to 0.35 again

marcandre.lureau at redhat.com marcandre.lureau at redhat.com
Mon Feb 4 09:05:08 UTC 2019


From: Marc-André Lureau <marcandre.lureau at redhat.com>

Compile out QMP channel support if spice-gtk version < 0.36.

(note: I didn't bother adding configure switch to enable it
explicitly, this could be added later if necessary)

Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
 configure.ac                    |  2 +-
 src/virt-viewer-session-spice.c | 18 ++++++++++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 50cd91a..5598c61 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ LIBXML2_REQUIRED="2.6.0"
 LIBVIRT_REQUIRED="0.10.0"
 LIBVIRT_GLIB_REQUIRED="0.1.8"
 GTK_VNC_REQUIRED="0.4.0"
-SPICE_GTK_REQUIRED="0.36"
+SPICE_GTK_REQUIRED="0.35"
 SPICE_PROTOCOL_REQUIRED="0.12.7"
 GOVIRT_REQUIRED="0.3.3"
 REST_REQUIRED="0.8"
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
index 0c58133..c28afc5 100644
--- a/src/virt-viewer-session-spice.c
+++ b/src/virt-viewer-session-spice.c
@@ -37,6 +37,10 @@
 #include "virt-viewer-display-vte.h"
 #include "virt-viewer-auth.h"
 
+#if SPICE_GTK_CHECK_VERSION(0,36,0)
+#define WITH_QMP_PORT 1
+#endif
+
 G_DEFINE_TYPE (VirtViewerSessionSpice, virt_viewer_session_spice, VIRT_VIEWER_TYPE_SESSION)
 
 struct _VirtViewerSessionSpicePrivate {
@@ -52,7 +56,9 @@ struct _VirtViewerSessionSpicePrivate {
     gboolean did_auto_conf;
     VirtViewerFileTransferDialog *file_transfer_dialog;
     GError *disconnect_error;
+#ifdef WITH_QMP_PORT
     SpiceQmpPort *qmp;
+#endif
 };
 
 #define VIRT_VIEWER_SESSION_SPICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), VIRT_VIEWER_TYPE_SESSION_SPICE, VirtViewerSessionSpicePrivate))
@@ -464,8 +470,9 @@ virt_viewer_session_spice_close(VirtViewerSession *session)
 
     g_object_add_weak_pointer(G_OBJECT(self), (gpointer*)&self);
 
+#ifdef WITH_QMP_PORT
     g_clear_object(&self->priv->qmp);
-
+#endif
     virt_viewer_session_spice_clear_displays(self);
 
     if (self->priv->session) {
@@ -1016,8 +1023,10 @@ port_name_to_vte_name(const char *name)
 }
 
 static void
-virt_viewer_session_spice_vm_action(VirtViewerSession *sess, gint action)
+virt_viewer_session_spice_vm_action(VirtViewerSession *sess G_GNUC_UNUSED,
+                                    gint action G_GNUC_UNUSED)
 {
+#ifdef WITH_QMP_PORT
     VirtViewerSessionSpice *self = VIRT_VIEWER_SESSION_SPICE(sess);
 
     switch (action) {
@@ -1041,8 +1050,10 @@ virt_viewer_session_spice_vm_action(VirtViewerSession *sess, gint action)
     }
 
     spice_qmp_port_vm_action_async(self->priv->qmp, action, NULL, NULL, NULL);
+#endif
 }
 
+#ifdef WITH_QMP_PORT
 static void
 set_vm_running(VirtViewerSessionSpice *self, gboolean running)
 {
@@ -1093,6 +1104,7 @@ static void qmp_event_cb(VirtViewerSessionSpice *self, const gchar *event,
         set_vm_running(self, TRUE);
     }
 }
+#endif /* WITH_QMP_PORT */
 
 static void
 spice_port_opened(SpiceChannel *channel, GParamSpec *pspec G_GNUC_UNUSED,
@@ -1115,6 +1127,7 @@ spice_port_opened(SpiceChannel *channel, GParamSpec *pspec G_GNUC_UNUSED,
     g_debug("port#%d %s: %s", id, name, opened ? "opened" : "closed");
     vte_name = port_name_to_vte_name(name);
 
+#ifdef WITH_QMP_PORT
     if (g_str_equal(name, "org.qemu.monitor.qmp.0")) {
         if (opened) {
             g_return_if_fail(!self->priv->qmp);
@@ -1133,6 +1146,7 @@ spice_port_opened(SpiceChannel *channel, GParamSpec *pspec G_GNUC_UNUSED,
         g_free(name);
         return;
     }
+#endif
 
     g_free(name);
     vte = g_object_get_data(G_OBJECT(port), "virt-viewer-vte");
-- 
2.20.1.98.gecbdaf0899




More information about the virt-tools-list mailing list