On Mon, 2016-02-15 at 16:01 +0000, Frediano Ziglio wrote: > From: Jonathon Jongsma <jjongsma@xxxxxxxxxx> > > Get the server variable from the RedDispatcher instead of using the > global variable > --- > server/display-channel.c | 1 + > server/red-worker.c | 15 +++++++++++---- > server/red-worker.h | 1 + > 3 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/server/display-channel.c b/server/display-channel.c > index 82dbe03..aa84356 100644 > --- a/server/display-channel.c > +++ b/server/display-channel.c > @@ -2030,6 +2030,7 @@ DisplayChannel* display_channel_new(RedWorker > *worker, int migrate, int stream_v > static SpiceImageSurfacesOps image_surfaces_ops = { > image_surfaces_get, > }; > + RedsState *reds = red_worker_get_server(worker); > > spice_info("create display channel"); > display = (DisplayChannel *)red_worker_new_channel( > diff --git a/server/red-worker.c b/server/red-worker.c > index 76e8625..7f07b74 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -487,15 +487,16 @@ CommonWorkerChannel > *red_worker_new_channel(RedWorker *worker, int size, > channel_cbs->alloc_recv_buf = common_alloc_recv_buf; > channel_cbs->release_recv_buf = common_release_recv_buf; > > - channel = red_channel_create_parser(size, reds, &worker->core, > - channel_type, worker->qxl- > >id, > - TRUE /* handle_acks */, > + channel = red_channel_create_parser(size, > red_worker_get_server(worker), > + &worker->core, channel_type, > + worker->qxl->id, TRUE /* > handle_acks */, > spice_get_client_channel_par > ser(channel_type, NULL), > handle_parsed, > channel_cbs, > migration_flags); > spice_return_val_if_fail(channel, NULL); > - red_channel_set_stat_node(channel, stat_add_node(reds, worker- > >stat, name, TRUE)); > + red_channel_set_stat_node(channel, > stat_add_node(red_worker_get_server(worker), > + worker->stat, > name, TRUE)); > > common = (CommonWorkerChannel *)channel; > common->qxl = worker->qxl; > @@ -1476,6 +1477,7 @@ RedWorker* red_worker_new(QXLInstance *qxl, > RedDispatcher *red_dispatcher) > RedWorker *worker; > Dispatcher *dispatcher; > const char *record_filename; > + RedsState *reds = red_dispatcher_get_server(red_dispatcher); > > qxl->st->qif->get_init_info(qxl, &init_info); > > @@ -1600,3 +1602,8 @@ RedChannel* > red_worker_get_display_channel(RedWorker *worker) > > return RED_CHANNEL(worker->display_channel); > } > + > +RedsState* red_worker_get_server(RedWorker *worker) > +{ > + return red_dispatcher_get_server(worker->red_dispatcher); > +} > diff --git a/server/red-worker.h b/server/red-worker.h > index 8ef8287..f5f51bd 100644 > --- a/server/red-worker.h > +++ b/server/red-worker.h > @@ -96,6 +96,7 @@ bool red_worker_run(RedWorker *worker); > QXLInstance* red_worker_get_qxl(RedWorker *worker); > RedChannel* red_worker_get_cursor_channel(RedWorker *worker); > RedChannel* red_worker_get_display_channel(RedWorker *worker); > +SpiceServer* red_worker_get_server(RedWorker *worker); > > void red_drawable_unref(RedDrawable *red_drawable); > Acked-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel