> > 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); > > No, strongly disagree on this function made public. I agree on the function but should be static in the RedWorker code. Frediano > > 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