> > On Mon, 2015-11-16 at 11:06 +0000, Frediano Ziglio wrote: > > From: Jonathon Jongsma <jjongsma@xxxxxxxxxx> > > > > --- > > server/red_worker.c | 16 ++++++++-------- > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/server/red_worker.c b/server/red_worker.c > > index bffe517..556963b 100644 > > --- a/server/red_worker.c > > +++ b/server/red_worker.c > > @@ -893,7 +893,7 @@ static inline void current_remove(DisplayChannel > > *display, > > TreeItem *item) > > } > > } > > > > -static void current_clear(DisplayChannel *display, int surface_id) > > +static void current_remove_all(DisplayChannel *display, int surface_id) > > { > > Ring *ring = &display->surfaces[surface_id].current; > > RingItem *ring_item; > > @@ -2685,10 +2685,10 @@ static inline void red_process_surface(RedWorker > > *worker, RedSurfaceCmd *surface > > } > > set_surface_release_info(&red_surface->destroy, surface- > > >release_info, group_id); > > red_handle_depends_on_target_surface(display, surface_id); > > - /* note that red_handle_depends_on_target_surface must be called > > before current_clear. > > + /* note that red_handle_depends_on_target_surface must be called > > before current_remove_all. > > otherwise "current" will hold items that other drawables may > > depend on, and then > > - red_current_clear will remove them from the pipe. */ > > - current_clear(display, surface_id); > > + current_remove_all will remove them from the pipe. */ > > + current_remove_all(display, surface_id); > > red_clear_surface_drawables_from_pipes(display, surface_id, > > FALSE); > > display_channel_surface_unref(display, surface_id); > > break; > > @@ -3231,7 +3231,7 @@ static void red_current_flush(DisplayChannel > > *display, > > int surface_id) > > while (!ring_is_empty(&display->surfaces[surface_id].current_list)) { > > free_one_drawable(display, FALSE); > > } > > - current_clear(display, surface_id); > > + current_remove_all(display, surface_id); > > } > > > > // adding the pipe item after pos. If pos == NULL, adding to head. > > @@ -8577,10 +8577,10 @@ void > > display_channel_destroy_surface_wait(DisplayChannel *display, int surface_i > > return; > > > > red_handle_depends_on_target_surface(display, surface_id); > > - /* note that red_handle_depends_on_target_surface must be called > > before > > current_clear. > > + /* note that red_handle_depends_on_target_surface must be called > > before > > current_remove_all. > > otherwise "current" will hold items that other drawables may depend > > on, and then > > - current_clear will remove them from the pipe. */ > > - current_clear(display, surface_id); > > + current_remove_all will remove them from the pipe. */ > > + current_remove_all(display, surface_id); > > red_clear_surface_drawables_from_pipes(display, surface_id, TRUE); > > } > > > > Ack, > > Pavel > > Merged Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel