On Wed, Nov 25, 2015 at 4:27 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > > --- > server/display-channel.c | 22 ++++++++++++++++++---- > server/display-channel.h | 1 - > server/red_worker.c | 14 -------------- > 3 files changed, 18 insertions(+), 19 deletions(-) > > diff --git a/server/display-channel.c b/server/display-channel.c > index aa3e7fb..e29d2ad 100644 > --- a/server/display-channel.c > +++ b/server/display-channel.c > @@ -403,6 +403,20 @@ static void current_remove_drawable(DisplayChannel *display, Drawable *item) > display->current_size--; > } > > +static void drawable_remove_from_pipes(Drawable *drawable) > +{ > + DrawablePipeItem *dpi; > + RingItem *item, *next; > + > + RING_FOREACH_SAFE(item, next, &drawable->pipes) { > + dpi = SPICE_CONTAINEROF(item, DrawablePipeItem, base); > + if (pipe_item_is_linked(&dpi->dpi_pipe_item)) { > + red_channel_client_pipe_remove_and_release(RED_CHANNEL_CLIENT(dpi->dcc), > + &dpi->dpi_pipe_item); > + } > + } > +} > + > static void current_remove(DisplayChannel *display, TreeItem *item) > { > TreeItem *now = item; > @@ -415,7 +429,7 @@ static void current_remove(DisplayChannel *display, TreeItem *item) > if (now->type == TREE_ITEM_TYPE_DRAWABLE) { > Drawable *drawable = SPICE_CONTAINEROF(now, Drawable, tree_item); > ring_item = now->siblings_link.prev; > - red_pipes_remove_drawable(drawable); > + drawable_remove_from_pipes(drawable); > current_remove_drawable(display, drawable); > } else { > Container *container = (Container *)now; > @@ -482,7 +496,7 @@ static int current_add_equal(DisplayChannel *display, DrawItem *item, TreeItem * > } else { > pipes_add_drawable(display, drawable); > } > - red_pipes_remove_drawable(other_drawable); > + drawable_remove_from_pipes(other_drawable); > display_channel_drawable_unref(display, other_drawable); > return TRUE; > } > @@ -524,7 +538,7 @@ static int current_add_equal(DisplayChannel *display, DrawItem *item, TreeItem * > } > } > /* not sending other_drawable where possible */ > - red_pipes_remove_drawable(other_drawable); > + drawable_remove_from_pipes(other_drawable); > > display_channel_drawable_unref(display, other_drawable); > return TRUE; > @@ -533,7 +547,7 @@ static int current_add_equal(DisplayChannel *display, DrawItem *item, TreeItem * > case QXL_EFFECT_OPAQUE_BRUSH: > if (is_same_geometry(drawable, other_drawable)) { > current_add_drawable(display, drawable, &other->siblings_link); > - red_pipes_remove_drawable(other_drawable); > + drawable_remove_from_pipes(other_drawable); > current_remove_drawable(display, other_drawable); > pipes_add_drawable(display, drawable); > return TRUE; > diff --git a/server/display-channel.h b/server/display-channel.h > index 3f3c278..28ef66c 100644 > --- a/server/display-channel.h > +++ b/server/display-channel.h > @@ -433,7 +433,6 @@ static inline void region_add_clip_rects(QRegion *rgn, SpiceClipRects *data) > } > > uint32_t generate_uid(DisplayChannel *display); > -void red_pipes_remove_drawable(Drawable *drawable); > void detach_streams_behind(DisplayChannel *display, QRegion *region, Drawable *drawable); > void drawable_draw(DisplayChannel *display, Drawable *item); > void drawables_init(DisplayChannel *display); > diff --git a/server/red_worker.c b/server/red_worker.c > index eb4be25..341574f 100644 > --- a/server/red_worker.c > +++ b/server/red_worker.c > @@ -125,20 +125,6 @@ static int cursor_is_connected(RedWorker *worker) > red_channel_is_connected(RED_CHANNEL(worker->cursor_channel)); > } > > -void red_pipes_remove_drawable(Drawable *drawable) > -{ > - DrawablePipeItem *dpi; > - RingItem *item, *next; > - > - RING_FOREACH_SAFE(item, next, &drawable->pipes) { > - dpi = SPICE_CONTAINEROF(item, DrawablePipeItem, base); > - if (pipe_item_is_linked(&dpi->dpi_pipe_item)) { > - red_channel_client_pipe_remove_and_release(RED_CHANNEL_CLIENT(dpi->dcc), > - &dpi->dpi_pipe_item); > - } > - } > -} > - Please, remove its declaration from server/display-channel.h as well. > static uint8_t *common_alloc_recv_buf(RedChannelClient *rcc, uint16_t type, uint32_t size) > { > CommonChannel *common = SPICE_CONTAINEROF(rcc->channel, CommonChannel, base); > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel Acked-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel