diff options
Diffstat (limited to 'src/spiceqxl_display.c')
-rw-r--r-- | src/spiceqxl_display.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/spiceqxl_display.c b/src/spiceqxl_display.c index b1ce557..d19e054 100644 --- a/src/spiceqxl_display.c +++ b/src/spiceqxl_display.c @@ -307,6 +307,17 @@ static int interface_flush_resources(QXLInstance *sin) return ret; } +#if SPICE_SERVER_VERSION >= 0x000b04 +static void interface_set_client_capabilities(QXLInstance *sin, + uint8_t client_present, + uint8_t caps[58]) +{ + qxl_screen_t *qxl = container_of(sin, qxl_screen_t, display_sin); + + memcpy(qxl->client_capabilities, caps, sizeof(qxl->client_capabilities)); + qxl->client_present = client_present; +} +#endif static const QXLInterface qxl_interface = { .base.type = SPICE_INTERFACE_QXL, @@ -327,6 +338,10 @@ static const QXLInterface qxl_interface = { .req_cursor_notification = interface_req_cursor_notification, .notify_update = interface_notify_update, .flush_resources = interface_flush_resources, +#if SPICE_SERVER_VERSION >= 0x000b04 + .set_client_capabilities = interface_set_client_capabilities, + // TODO client_monitors_config +#endif }; void qxl_add_spice_display_interface(qxl_screen_t *qxl) |