Looks like an improvment Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> On Fri, 2016-05-13 at 10:16 +0100, Frediano Ziglio wrote: > This function was handling mainly CursorChannel state > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/cursor-channel.c | 23 +++++++++++++++++++++++ > server/cursor-channel.h | 5 +++++ > server/red-worker.c | 32 ++++---------------------------- > 3 files changed, 32 insertions(+), 28 deletions(-) > > diff --git a/server/cursor-channel.c b/server/cursor-channel.c > index 444d89b..c67c88f 100644 > --- a/server/cursor-channel.c > +++ b/server/cursor-channel.c > @@ -569,3 +569,26 @@ void cursor_channel_set_mouse_mode(CursorChannel *cursor, > uint32_t mode) > > cursor->mouse_mode = mode; > } > + > +void cursor_channel_connect(CursorChannel *cursor, RedClient *client, > RedsStream *stream, > + int migrate, > + uint32_t *common_caps, int num_common_caps, > + uint32_t *caps, int num_caps) > +{ > + CursorChannelClient *ccc; > + > + spice_return_if_fail(cursor != NULL); > + > + spice_info("add cursor channel client"); > + ccc = cursor_channel_client_new(cursor, client, stream, > + migrate, > + common_caps, num_common_caps, > + caps, num_caps); > + spice_return_if_fail(ccc != NULL); > + > + RedChannelClient *rcc = RED_CHANNEL_CLIENT(ccc); > + red_channel_client_ack_zero_messages_window(rcc); > + red_channel_client_push_set_ack(rcc); > + > + cursor_channel_init(cursor, ccc); > +} > diff --git a/server/cursor-channel.h b/server/cursor-channel.h > index 4dad4b6..ecb20a4 100644 > --- a/server/cursor-channel.h > +++ b/server/cursor-channel.h > @@ -34,6 +34,11 @@ void cursor_channel_reset > (CursorChannel *cursor); > void cursor_channel_init (CursorChannel *cursor, > CursorChannelClient* client); > void cursor_channel_process_cmd (CursorChannel *cursor, > RedCursorCmd *cursor_cmd); > void cursor_channel_set_mouse_mode(CursorChannel *cursor, > uint32_t mode); > +void cursor_channel_connect (CursorChannel *cursor, > RedClient *client, > + RedsStream *stream, > + int migrate, > + uint32_t *common_caps, int > num_common_caps, > + uint32_t *caps, int > num_caps); > > CursorChannelClient* cursor_channel_client_new(CursorChannel *cursor, > RedClient *client, RedsStream > *stream, > diff --git a/server/red-worker.c b/server/red-worker.c > index 8d8073e..f6d626b 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -544,30 +544,6 @@ static void guest_set_client_capabilities(RedWorker > *worker) > } > } > > -static void cursor_connect(RedWorker *worker, RedClient *client, RedsStream > *stream, > - int migrate, > - uint32_t *common_caps, int num_common_caps, > - uint32_t *caps, int num_caps) > -{ > - CursorChannel *channel = worker->cursor_channel; > - CursorChannelClient *ccc; > - > - spice_return_if_fail(channel != NULL); > - > - spice_info("add cursor channel client"); > - ccc = cursor_channel_client_new(channel, client, stream, > - migrate, > - common_caps, num_common_caps, > - caps, num_caps); > - spice_return_if_fail(ccc != NULL); > - > - RedChannelClient *rcc = RED_CHANNEL_CLIENT(ccc); > - red_channel_client_ack_zero_messages_window(rcc); > - red_channel_client_push_set_ack(rcc); > - > - cursor_channel_init(channel, ccc); > -} > - > static void handle_dev_update_async(void *opaque, void *payload) > { > RedWorker *worker = opaque; > @@ -1000,10 +976,10 @@ static void handle_dev_cursor_connect(void *opaque, > void *payload) > RedWorker *worker = opaque; > > spice_info("cursor connect"); > - cursor_connect(worker, > - msg->client, msg->stream, msg->migration, > - msg->common_caps, msg->num_common_caps, > - msg->caps, msg->num_caps); > + cursor_channel_connect(worker->cursor_channel, > + msg->client, msg->stream, msg->migration, > + msg->common_caps, msg->num_common_caps, > + msg->caps, msg->num_caps); > free(msg->caps); > free(msg->common_caps); > } _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel