On 9/18/20 12:07 PM, marcandre.lur...@redhat.com wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > The "attach_worker" callbacks aren't doing anything in QEMU, but they > were mandatory until Spice server commit > 6aa1a17c69dc3cc02f338a78b3266e4c00ea1c1a ("spice-qxl: Remove QXLWorker > definition"). > > Furthermore, the old spelling is deprecated since commit > 974692bda1e77af92b71ed43b022439448492cb9 ("spice-qxl: Fix typo in > callback name and remove obsolete parameter") > > Compile that code out if Spice server version is recent enough. > > Fix compiler deprecation warnings with Spice > 0.14.3 (not released > yet). We may want to wait until newer version is actually released to > apply the patch. > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > hw/display/qxl.c | 4 ++++ > ui/spice-display.c | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/hw/display/qxl.c b/hw/display/qxl.c > index 11871340e7..a02072dee0 100644 > --- a/hw/display/qxl.c > +++ b/hw/display/qxl.c > @@ -518,12 +518,14 @@ static int qxl_track_command(PCIQXLDevice *qxl, struct > QXLCommandExt *ext) > > /* spice display interface callbacks */ >
What about adding in include/ui/spice-display.h: #if SPICE_SERVER_VERSION < 0x000e04 /* release 0.14.4 */ #define SPACE_ATTACH_WORKER_MANDATORY #endif Then use #ifdef SPACE_ATTACH_WORKER_MANDATORY in the source files? Regardless: Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > +#if SPICE_SERVER_VERSION < 0x000e04 /* release 0.14.4 */ > static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker) > { > PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl); > > trace_qxl_interface_attach_worker(qxl->id); > } > +#endif > > static void interface_set_compression_level(QXLInstance *sin, int level) > { > @@ -1156,7 +1158,9 @@ static const QXLInterface qxl_interface = { > .base.major_version = SPICE_INTERFACE_QXL_MAJOR, > .base.minor_version = SPICE_INTERFACE_QXL_MINOR, > > +#if SPICE_SERVER_VERSION < 0x000e04 /* release 0.14.4 */ > .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 19632fdf6c..811936ff7f 100644 > --- a/ui/spice-display.c > +++ b/ui/spice-display.c > @@ -500,10 +500,12 @@ void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd) > > /* spice display interface callbacks */ > > +#if SPICE_SERVER_VERSION < 0x000e04 /* release 0.14.4 */ > static void interface_attach_worker(QXLInstance *sin, QXLWorker *qxl_worker) > { > /* nothing to do */ > } > +#endif > > static void interface_set_compression_level(QXLInstance *sin, int level) > { > @@ -709,7 +711,9 @@ static const QXLInterface dpy_interface = { > .base.major_version = SPICE_INTERFACE_QXL_MAJOR, > .base.minor_version = SPICE_INTERFACE_QXL_MINOR, > > +#if SPICE_SERVER_VERSION < 0x000e04 /* release 0.14.4 */ > .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, >