Now it no longer needs external state in order to destroy the RedDrawable instance when needed, so we can remove this from the prototype. --- server/dcc-encoders.c | 3 +-- server/display-channel.c | 2 +- server/red-worker.c | 5 ++--- server/red-worker.h | 4 +--- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/server/dcc-encoders.c b/server/dcc-encoders.c index c810b8e..f1dd1bb 100644 --- a/server/dcc-encoders.c +++ b/server/dcc-encoders.c @@ -483,8 +483,7 @@ void dcc_free_glz_drawable_instance(DisplayChannelClient *dcc, if (drawable) { ring_remove(&glz_drawable->drawable_link); } - red_drawable_unref(display_channel, glz_drawable->red_drawable, - glz_drawable->group_id); + red_drawable_unref(glz_drawable->red_drawable); display_channel->glz_drawable_count--; if (ring_item_is_linked(&glz_drawable->link)) { ring_remove(&glz_drawable->link); diff --git a/server/display-channel.c b/server/display-channel.c index fc74853..2d6abd4 100644 --- a/server/display-channel.c +++ b/server/display-channel.c @@ -1444,7 +1444,7 @@ void display_channel_drawable_unref(DisplayChannel *display, Drawable *drawable) ring_remove(item); } if (drawable->red_drawable) { - red_drawable_unref(display, drawable->red_drawable, drawable->group_id); + red_drawable_unref(drawable->red_drawable); } drawable_free(display, drawable); display->drawable_count--; diff --git a/server/red-worker.c b/server/red-worker.c index 5937b00..3acab24 100644 --- a/server/red-worker.c +++ b/server/red-worker.c @@ -129,8 +129,7 @@ static void common_release_recv_buf(RedChannelClient *rcc, uint16_t type, uint32 } } -void red_drawable_unref(DisplayChannel *display, RedDrawable *red_drawable, - uint32_t group_id) +void red_drawable_unref(RedDrawable *red_drawable) { if (--red_drawable->refs) { return; @@ -239,7 +238,7 @@ static int red_process_display(RedWorker *worker, int *ring_is_empty) worker->process_display_generation); } // release the red_drawable - red_drawable_unref(worker->display_channel, red_drawable, ext_cmd.group_id); + red_drawable_unref(red_drawable); break; } case QXL_CMD_UPDATE: { diff --git a/server/red-worker.h b/server/red-worker.h index 1285942..94974b7 100644 --- a/server/red-worker.h +++ b/server/red-worker.h @@ -97,9 +97,7 @@ QXLInstance* red_worker_get_qxl(RedWorker *worker); RedChannel* red_worker_get_cursor_channel(RedWorker *worker); RedChannel* red_worker_get_display_channel(RedWorker *worker); -struct DisplayChannel; -void red_drawable_unref(struct DisplayChannel *display, RedDrawable *red_drawable, - uint32_t group_id); +void red_drawable_unref(RedDrawable *red_drawable); CommonChannel *red_worker_new_channel(RedWorker *worker, int size, const char *name, -- 2.5.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel