[Spice-devel] [spice-server 1/2] worker: Use more local vars in dev_create_primary_surface

Frediano Ziglio fziglio at redhat.com
Thu May 24 12:39:49 UTC 2018


> 
> There's already a 'display' variable equal to worker->display_channel
> which is not consistently used. This commit also adds a new 'channel'
> local variable to remove upcasts to RedChannel.

Not entirely true, channel is initialized doing the upcast, so there's
still the upcast.
I would move channel initialization inside the if, is not clear if
is related to the display channel or the cursor channel (note that
cursor_channel is used in this function).

> 
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
>  server/red-worker.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/server/red-worker.c b/server/red-worker.c
> index eb927f3e0..541110f83 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -527,7 +527,8 @@ static void dev_create_primary_surface(RedWorker *worker,
> uint32_t surface_id,
>                                     line_0, surface.flags &
>                                     QXL_SURF_FLAG_KEEP_DATA, TRUE);
>      display_channel_set_monitors_config_to_primary(display);
>  
> -    CommonGraphicsChannel *common =
> COMMON_GRAPHICS_CHANNEL(worker->display_channel);
> +    CommonGraphicsChannel *common = COMMON_GRAPHICS_CHANNEL(display);
> +    RedChannel *channel = RED_CHANNEL(display);
>      if (display_is_connected(worker) &&
>          !common_graphics_channel_get_during_target_migrate(common)) {
>          /* guest created primary, so it will (hopefully) send a
>          monitors_config
> @@ -535,9 +536,8 @@ static void dev_create_primary_surface(RedWorker *worker,
> uint32_t surface_id,
>          if (!worker->driver_cap_monitors_config) {
>              display_channel_push_monitors_config(display);
>          }
> -
> red_channel_pipes_add_empty_msg(RED_CHANNEL(worker->display_channel),
> -                                        SPICE_MSG_DISPLAY_MARK);
> -        red_channel_push(RED_CHANNEL(worker->display_channel));
> +        red_channel_pipes_add_empty_msg(channel, SPICE_MSG_DISPLAY_MARK);
> +        red_channel_push(channel);
>      }
>  
>      cursor_channel_do_init(worker->cursor_channel);

Frediano


More information about the Spice-devel mailing list