[Spice-devel] [PATCH 3.12/12 v2] Various minor style changes to worker and cursor channel

Frediano Ziglio fziglio at redhat.com
Fri Oct 30 11:02:02 PDT 2015


> 
> From: Marc-André Lureau <marcandre.lureau at gmail.com>
> 
> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
> ---
> 
> Changes since v1:
>  - added back removed red_channel_is_connected() checks
>  - switch from (RedChannel*) cast to using &cursor->common.base
>  - use local 'channel' variable throughout red_channel_reset()
> 
> 
>  server/cursor-channel.c | 35 ++++++++++++++++++++---------------
>  server/red_worker.c     |  7 +++++--
>  2 files changed, 25 insertions(+), 17 deletions(-)
> 
> diff --git a/server/cursor-channel.c b/server/cursor-channel.c
> index a2e4979..6a1fcea 100644
> --- a/server/cursor-channel.c
> +++ b/server/cursor-channel.c
> @@ -232,17 +232,17 @@ static void red_marshall_cursor_init(RedChannelClient
> *rcc, SpiceMarshaller *bas
>  }
>  
>  static void cursor_marshall(RedChannelClient *rcc,
> -                   SpiceMarshaller *m, CursorPipeItem *cursor_pipe_item)
> +                            SpiceMarshaller *m, CursorPipeItem
> *cursor_pipe_item)
>  {
>      CursorChannel *cursor_channel = SPICE_CONTAINEROF(rcc->channel,
>      CursorChannel, common.base);
>      CursorChannelClient *ccc = RCC_TO_CCC(rcc);
> -    CursorItem *cursor = cursor_pipe_item->cursor_item;
> +    CursorItem *item = cursor_pipe_item->cursor_item;
>      PipeItem *pipe_item = &cursor_pipe_item->base;
>      RedCursorCmd *cmd;
>  
>      spice_return_if_fail(cursor_channel);
>  
> -    cmd = cursor->red_cursor;
> +    cmd = item->red_cursor;
>      switch (cmd->type) {
>      case QXL_CURSOR_MOVE:
>          {
> @@ -261,7 +261,7 @@ static void cursor_marshall(RedChannelClient *rcc,
>              cursor_set.position = cmd->u.set.position;
>              cursor_set.visible = cursor_channel->cursor_visible;
>  
> -            cursor_fill(ccc, &cursor_set.cursor, cursor, &info);
> +            cursor_fill(ccc, &cursor_set.cursor, item, &info);
>              spice_marshall_msg_cursor_set(m, &cursor_set);
>              add_buf_from_info(m, &info);
>              break;
> @@ -285,7 +285,7 @@ static void cursor_marshall(RedChannelClient *rcc,
>  }
>  
>  static inline void red_marshall_inval(RedChannelClient *rcc,
> -        SpiceMarshaller *base_marshaller, CacheItem *cach_item)
> +                                      SpiceMarshaller *base_marshaller,
> CacheItem *cach_item)
>  {
>      SpiceMsgDisplayInvalOne inval_one;
>  
> @@ -446,10 +446,12 @@ void cursor_channel_process_cmd(CursorChannel *cursor,
> RedCursorCmd *cursor_cmd,
>          return;
>      }
>  
> -    if (red_channel_is_connected(&cursor->common.base) &&
> (cursor->mouse_mode == SPICE_MOUSE_MODE_SERVER ||
> -                                   cursor_cmd->type != QXL_CURSOR_MOVE ||
> cursor_show)) {
> -        red_channel_pipes_new_add(&cursor->common.base,
> new_cursor_pipe_item,
> -                                  (void*)cursor_item);
> +    if (red_channel_is_connected(&cursor->common.base) &&
> +        (cursor->mouse_mode == SPICE_MOUSE_MODE_SERVER
> +         || cursor_cmd->type != QXL_CURSOR_MOVE
> +         || cursor_show)) {
> +        red_channel_pipes_new_add(&cursor->common.base,
> +                                  new_cursor_pipe_item, cursor_item);
>      }
>  
>      cursor_item_unref(cursor_item);
> @@ -457,21 +459,24 @@ void cursor_channel_process_cmd(CursorChannel *cursor,
> RedCursorCmd *cursor_cmd,
>  
>  void cursor_channel_reset(CursorChannel *cursor)
>  {
> +    RedChannel *channel = &cursor->common.base;
> +
> +    spice_return_if_fail(cursor);
> +
>      cursor_set_item(cursor, NULL);
>      cursor->cursor_visible = TRUE;
>      cursor->cursor_position.x = cursor->cursor_position.y = 0;
>      cursor->cursor_trail_length = cursor->cursor_trail_frequency = 0;
>  
> -    if (red_channel_is_connected(&cursor->common.base)) {
> -        red_channel_pipes_add_type(&cursor->common.base,
> -                                   PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
> +    if (red_channel_is_connected(channel)) {
> +        red_channel_pipes_add_type(channel,
> PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
>          if (!cursor->common.during_target_migrate) {
> -            red_pipes_add_verb(&cursor->common.base,
> SPICE_MSG_CURSOR_RESET);
> +            red_pipes_add_verb(channel, SPICE_MSG_CURSOR_RESET);
>          }
>          if (!red_channel_wait_all_sent(&cursor->common.base,
>                                         DISPLAY_CLIENT_TIMEOUT)) {
> -            red_channel_apply_clients(&cursor->common.base,
> -
> red_channel_client_disconnect_if_pending_send);
> +            red_channel_apply_clients(channel,
> +
> red_channel_client_disconnect_if_pending_send);
>          }
>      }
>  }
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 46f94ce..ee5199a 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -10192,7 +10192,8 @@ static void dev_create_primary_surface(RedWorker
> *worker, uint32_t surface_id,
>          red_channel_push(&worker->display_channel->common.base);
>      }
>  
> -    if (cursor_is_connected(worker) &&
> !worker->cursor_channel->common.during_target_migrate) {
> +    if (cursor_is_connected(worker)
> +        && !worker->cursor_channel->common.during_target_migrate) {
>          red_channel_pipes_add_type(&worker->cursor_channel->common.base,
>                                     PIPE_ITEM_TYPE_CURSOR_INIT);
>      }
> @@ -10394,7 +10395,9 @@ void handle_dev_oom(void *opaque, void *payload)
>  
>  void handle_dev_reset_cursor(void *opaque, void *payload)
>  {
> -    cursor_channel_reset(((RedWorker*)opaque)->cursor_channel);
> +    RedWorker *worker = opaque;
> +
> +    cursor_channel_reset(worker->cursor_channel);
>  }
>  
>  void handle_dev_reset_image_cache(void *opaque, void *payload)
> --
> 2.4.3

Acked

Frediano


More information about the Spice-devel mailing list