spice updated the spelling (and arguments) of "attache_worker" in
0.15.0. Update QEMU to match, preventing -Wdeprecated-declarations
compilations from reporting build errors.
See also:
https://gitlab.freedesktop.org/spice/spice/-/commit/974692bda1e77af92b71ed43b022439448492cb9
Signed-off-by: John Snow <jsnow@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
---
include/ui/qemu-spice.h | 6 ++++++
hw/display/qxl.c | 14 +++++++++++++-
ui/spice-display.c | 11 +++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
index 71ecd6cfd1..21fe195e18 100644
--- a/include/ui/qemu-spice.h
+++ b/include/ui/qemu-spice.h
@@ -40,6 +40,12 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
#define SPICE_NEEDS_SET_MM_TIME 0
#endif
+#if defined(SPICE_SERVER_VERSION) && (SPICE_SERVER_VERSION >= 0x000f00)
+#define SPICE_HAS_ATTACHED_WORKER 1
+#else
+#define SPICE_HAS_ATTACHED_WORKER 0
+#endif
+
#else /* CONFIG_SPICE */
#include "qemu/error-report.h"
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 29c80b4289..1da6703e44 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -517,13 +517,20 @@ static int qxl_track_command(PCIQXLDevice *qxl, struct QXLCommandExt *ext)
/* spice display interface callbacks */
-static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
+static void interface_attached_worker(QXLInstance *sin)
{
PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
trace_qxl_interface_attach_worker(qxl->id);
}
+#if !(SPICE_HAS_ATTACHED_WORKER)
+static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
+{
+ interface_attached_worker(sin);
+}
+#endif
+
static void interface_set_compression_level(QXLInstance *sin, int level)
{
PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
@@ -1131,7 +1138,12 @@ static const QXLInterface qxl_interface = {
.base.major_version = SPICE_INTERFACE_QXL_MAJOR,
.base.minor_version = SPICE_INTERFACE_QXL_MINOR,
+#if SPICE_HAS_ATTACHED_WORKER
+ .attached_worker = interface_attached_worker,
+#else
.attache_worker = interface_attach_worker,
+#endif
+
.set_compression_level = interface_set_compression_level,
#if SPICE_NEEDS_SET_MM_TIME
.set_mm_time = interface_set_mm_time,
diff --git a/ui/spice-display.c b/ui/spice-display.c
index f59c69882d..1a60cebb7d 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -500,10 +500,17 @@ void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd)
/* spice display interface callbacks */
+#if SPICE_HAS_ATTACHED_WORKER
+static void interface_attached_worker(QXLInstance *sin)
+{
+ /* nothing to do */
+}
+#else
static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
{
/* nothing to do */
}
+#endif
static void interface_set_compression_level(QXLInstance *sin, int level)
{
@@ -702,7 +709,11 @@ static const QXLInterface dpy_interface = {
.base.major_version = SPICE_INTERFACE_QXL_MAJOR,
.base.minor_version = SPICE_INTERFACE_QXL_MINOR,
+#if SPICE_HAS_ATTACHED_WORKER
+ .attached_worker = interface_attached_worker,
+#else
.attache_worker = interface_attach_worker,
+#endif
.set_compression_level = interface_set_compression_level,
#if SPICE_NEEDS_SET_MM_TIME
.set_mm_time = interface_set_mm_time,
--
2.31.1
On Tue, Dec 07, 2021 at 03:40:37PM -0500, John Snow wrote: > spice updated the spelling (and arguments) of "attache_worker" in > 0.15.0. Update QEMU to match, preventing -Wdeprecated-declarations > compilations from reporting build errors. > > See also: > https://gitlab.freedesktop.org/spice/spice/-/commit/974692bda1e77af92b71ed43b022439448492cb9 > > Signed-off-by: John Snow <jsnow@redhat.com> > Acked-by: Gerd Hoffmann <kraxel@redhat.com> > --- > include/ui/qemu-spice.h | 6 ++++++ > hw/display/qxl.c | 14 +++++++++++++- > ui/spice-display.c | 11 +++++++++++ > 3 files changed, 30 insertions(+), 1 deletion(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On 12/7/21 21:40, John Snow wrote:
> spice updated the spelling (and arguments) of "attache_worker" in
> 0.15.0. Update QEMU to match, preventing -Wdeprecated-declarations
> compilations from reporting build errors.
>
> See also:
> https://gitlab.freedesktop.org/spice/spice/-/commit/974692bda1e77af92b71ed43b022439448492cb9
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> include/ui/qemu-spice.h | 6 ++++++
> hw/display/qxl.c | 14 +++++++++++++-
> ui/spice-display.c | 11 +++++++++++
> 3 files changed, 30 insertions(+), 1 deletion(-)
>
> diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
> index 71ecd6cfd1..21fe195e18 100644
> --- a/include/ui/qemu-spice.h
> +++ b/include/ui/qemu-spice.h
> @@ -40,6 +40,12 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
> #define SPICE_NEEDS_SET_MM_TIME 0
> #endif
>
> +#if defined(SPICE_SERVER_VERSION) && (SPICE_SERVER_VERSION >= 0x000f00)
> +#define SPICE_HAS_ATTACHED_WORKER 1
> +#else
> +#define SPICE_HAS_ATTACHED_WORKER 0
> +#endif
> +
> #else /* CONFIG_SPICE */
>
> #include "qemu/error-report.h"
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 29c80b4289..1da6703e44 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -517,13 +517,20 @@ static int qxl_track_command(PCIQXLDevice *qxl, struct QXLCommandExt *ext)
>
> /* spice display interface callbacks */
>
> -static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
> +static void interface_attached_worker(QXLInstance *sin)
> {
> PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
>
> trace_qxl_interface_attach_worker(qxl->id);
> }
>
> +#if !(SPICE_HAS_ATTACHED_WORKER)
> +static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
> +{
> + interface_attached_worker(sin);
> +}
> +#endif
> +
> static void interface_set_compression_level(QXLInstance *sin, int level)
> {
> PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
> @@ -1131,7 +1138,12 @@ static const QXLInterface qxl_interface = {
> .base.major_version = SPICE_INTERFACE_QXL_MAJOR,
> .base.minor_version = SPICE_INTERFACE_QXL_MINOR,
>
> +#if SPICE_HAS_ATTACHED_WORKER
> + .attached_worker = interface_attached_worker,
> +#else
> .attache_worker = interface_attach_worker,
> +#endif
> +
> .set_compression_level = interface_set_compression_level,
> #if SPICE_NEEDS_SET_MM_TIME
> .set_mm_time = interface_set_mm_time,
> diff --git a/ui/spice-display.c b/ui/spice-display.c
> index f59c69882d..1a60cebb7d 100644
> --- a/ui/spice-display.c
> +++ b/ui/spice-display.c
> @@ -500,10 +500,17 @@ void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd)
>
> /* spice display interface callbacks */
>
> +#if SPICE_HAS_ATTACHED_WORKER
> +static void interface_attached_worker(QXLInstance *sin)
> +{
> + /* nothing to do */
> +}
> +#else
> static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker)
> {
> /* nothing to do */
> }
> +#endif
>
> static void interface_set_compression_level(QXLInstance *sin, int level)
> {
> @@ -702,7 +709,11 @@ static const QXLInterface dpy_interface = {
> .base.major_version = SPICE_INTERFACE_QXL_MAJOR,
> .base.minor_version = SPICE_INTERFACE_QXL_MINOR,
>
> +#if SPICE_HAS_ATTACHED_WORKER
> + .attached_worker = interface_attached_worker,
> +#else
> .attache_worker = interface_attach_worker,
> +#endif
> .set_compression_level = interface_set_compression_level,
> #if SPICE_NEEDS_SET_MM_TIME
> .set_mm_time = interface_set_mm_time,
>
Could we get this patch directly applied as a buildfix?
© 2016 - 2026 Red Hat, Inc.