[Spice-devel] [PATCH spice-server 1/2] gl: fix client mouse mode
Marc-André Lureau
marcandre.lureau at redhat.com
Thu Sep 7 12:37:29 UTC 2017
Hi
----- Original Message -----
> 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.
My patch was updating reds_update_client_mouse_allowed() which I think was a better place to do cursor business.
Furthermore, it didn't mess with QXL/2D state.
>
> 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 b556428d2..a003052ca 100644
> --- a/server/red-qxl.c
> +++ b/server/red-qxl.c
> @@ -873,6 +873,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;
I didn't need to touch qxl-state. Not sure what would be the side effect of all this changes, and how they related to the problem.
> +
> + reds_update_client_mouse_allowed(qxl_state->reds);
> }
>
> SPICE_GNUC_VISIBLE
> --
> 2.13.5
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list