[Spice-devel] [RFC v4 35/62] server/red_worker: more removal of direct rcc access
Marc-André Lureau
marcandre.lureau at gmail.com
Mon May 2 16:55:45 PDT 2011
It looks like it could be merged with 05/62 move pipe from RedChannel
to RedChannelClient
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy <alevy at redhat.com> wrote:
> ---
> server/red_worker.c | 21 +++++++++++++--------
> 1 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 3581173..79fffd1 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -8489,7 +8489,8 @@ void red_disconnect_all_display_TODO_remove_me(RedChannel *channel)
> static void red_migrate_display(RedWorker *worker)
> {
> if (worker->display_channel) {
> - red_pipe_add_verb(worker->display_channel->common.base.rcc, SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL);
> + red_pipes_add_verb(&worker->display_channel->common.base,
> + SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL);
> red_channel_pipes_add_type(&worker->display_channel->common.base, PIPE_ITEM_TYPE_MIGRATE);
> }
> }
> @@ -9584,9 +9585,11 @@ static void red_disconnect_cursor(RedChannel *channel)
>
> static void red_migrate_cursor(RedWorker *worker)
> {
> - if (worker->cursor_channel) {
> - red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
> - red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_MIGRATE);
> + if (cursor_connected(worker)) {
> + red_channel_pipes_add_type(&worker->cursor_channel->common.base,
> + PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
> + red_channel_pipes_add_type(&worker->cursor_channel->common.base,
> + PIPE_ITEM_TYPE_MIGRATE);
> }
> }
>
> @@ -10006,13 +10009,15 @@ static inline void handle_dev_create_primary_surface(RedWorker *worker)
> surface.height, surface.stride, surface.format,
> line_0, surface.flags & QXL_SURF_FLAG_KEEP_DATA);
>
> - if (worker->display_channel) {
> - red_pipe_add_verb(worker->display_channel->common.base.rcc, SPICE_MSG_DISPLAY_MARK);
> + if (display_connected(worker)) {
> + red_pipes_add_verb(&worker->display_channel->common.base,
> + SPICE_MSG_DISPLAY_MARK);
> red_channel_push(&worker->display_channel->common.base);
> }
>
> - if (worker->cursor_channel) {
> - red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_CURSOR_INIT);
> + if (cursor_connected(worker)) {
> + red_channel_pipes_add_type(&worker->cursor_channel->common.base,
> + PIPE_ITEM_TYPE_CURSOR_INIT);
> }
>
> message = RED_WORKER_MESSAGE_READY;
> --
> 1.7.4.4
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
--
Marc-André Lureau
More information about the Spice-devel
mailing list