[Spice-devel] [PATCH spice] worker: remove check for canvas during cursor connect

Marc-André Lureau marcandre.lureau at gmail.com
Tue Apr 26 14:24:42 UTC 2016


ping

On Mon, Mar 21, 2016 at 6:07 PM, Marc-André Lureau
<marcandre.lureau at gmail.com> wrote:
> We want the cursor to be initialized even if there is no canvas,
> especially when using a GL scanout. This solves some client warnings
> when using qemu with GL scanout-only (patches under review on qemu ML).
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> ---
>  server/display-channel.c | 7 -------
>  server/display-channel.h | 2 --
>  server/red-worker.c      | 5 +----
>  3 files changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/server/display-channel.c b/server/display-channel.c
> index 3f61926..1d5b47c 100644
> --- a/server/display-channel.c
> +++ b/server/display-channel.c
> @@ -283,13 +283,6 @@ void display_channel_surface_unref(DisplayChannel *display, uint32_t surface_id)
>      spice_warn_if_fail(ring_is_empty(&surface->depend_on_me));
>  }
>
> -/* TODO: perhaps rename to "ready" or "realized" ? */
> -bool display_channel_surface_has_canvas(DisplayChannel *display,
> -                                        uint32_t surface_id)
> -{
> -    return display->surfaces[surface_id].context.canvas != NULL;
> -}
> -
>  static void streams_update_visible_region(DisplayChannel *display, Drawable *drawable)
>  {
>      Ring *ring;
> diff --git a/server/display-channel.h b/server/display-channel.h
> index 6b053de..d5356fc 100644
> --- a/server/display-channel.h
> +++ b/server/display-channel.h
> @@ -283,8 +283,6 @@ Drawable *                 display_channel_drawable_try_new          (DisplayCha
>  void                       display_channel_drawable_unref            (DisplayChannel *display, Drawable *drawable);
>  void                       display_channel_surface_unref             (DisplayChannel *display,
>                                                                        uint32_t surface_id);
> -bool                       display_channel_surface_has_canvas        (DisplayChannel *display,
> -                                                                      uint32_t surface_id);
>  void                       display_channel_current_flush             (DisplayChannel *display,
>                                                                        int surface_id);
>  int                        display_channel_wait_for_migrate_data     (DisplayChannel *display);
> diff --git a/server/red-worker.c b/server/red-worker.c
> index 8ca11c7..5035019 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -565,10 +565,7 @@ static void cursor_connect(RedWorker *worker, RedClient *client, RedsStream *str
>      red_channel_client_ack_zero_messages_window(rcc);
>      red_channel_client_push_set_ack(rcc);
>
> -    // TODO: why do we check for context.canvas? defer this to after display cc is connected
> -    // and test it's canvas? this is just a test to see if there is an active renderer?
> -    if (display_channel_surface_has_canvas(worker->display_channel, 0))
> -        cursor_channel_init(channel, ccc);
> +    cursor_channel_init(channel, ccc);
>  }
>
>  static void handle_dev_update_async(void *opaque, void *payload)
> --
> 2.5.0
>



-- 
Marc-André Lureau


More information about the Spice-devel mailing list