diff options
Diffstat (limited to 'server/dcc-encoders.c')
-rw-r--r-- | server/dcc-encoders.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/server/dcc-encoders.c b/server/dcc-encoders.c index 1f98d1a3..d8d6617e 100644 --- a/server/dcc-encoders.c +++ b/server/dcc-encoders.c @@ -472,3 +472,20 @@ void dcc_free_glz_drawable_instance(DisplayChannelClient *dcc, free(glz_drawable); } } + +void dcc_free_glz_drawables_to_free(DisplayChannelClient* dcc) +{ + RingItem *ring_link; + + if (!dcc->glz_dict) { + return; + } + pthread_mutex_lock(&dcc->glz_drawables_inst_to_free_lock); + while ((ring_link = ring_get_head(&dcc->glz_drawables_inst_to_free))) { + GlzDrawableInstanceItem *drawable_instance = SPICE_CONTAINEROF(ring_link, + GlzDrawableInstanceItem, + free_link); + dcc_free_glz_drawable_instance(dcc, drawable_instance); + } + pthread_mutex_unlock(&dcc->glz_drawables_inst_to_free_lock); +} |