[Spice-devel] [PATCH spice-server 1/2] gl: fix client mouse mode

Frediano Ziglio fziglio at redhat.com
Tue Jun 13 08:46:52 UTC 2017


Since 2.8, QEMU now longer creates QXL primary surfaces when using GL.
This change broke client-side mouse mode, because Spice server relies on
primary surface conditions.

When GL is enabled, use GL scanout informations.
Mouse mode is always client when GL surfaces are used.

This patch and most of the message are based on a patch from
Marc-André Lureau, just moving responsibility from reds to RedQxl.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/red-qxl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/server/red-qxl.c b/server/red-qxl.c
index 53f3338..896bb76 100644
--- a/server/red-qxl.c
+++ b/server/red-qxl.c
@@ -883,6 +883,13 @@ void spice_qxl_gl_scanout(QXLInstance *qxl,
     /* FIXME: find a way to coallesce all pending SCANOUTs */
     dispatcher_send_message(qxl_state->dispatcher,
                             RED_WORKER_MESSAGE_GL_SCANOUT, &payload);
+
+    qxl_state->x_res = width;
+    qxl_state->y_res = height;
+    qxl_state->use_hardware_cursor = TRUE;
+    qxl_state->primary_active = TRUE;
+
+    reds_update_client_mouse_allowed(qxl_state->reds);
 }
 
 SPICE_GNUC_VISIBLE
-- 
2.9.4



More information about the Spice-devel mailing list