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); } -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel