diff --git a/src/server.c b/src/server.c index bec9432..e5a1a10 100644 --- a/src/server.c +++ b/src/server.c @@ -121,6 +121,7 @@ static void client_close(struct nvnc_client* client) client->server->n_damage_clients -= !(client->encoder->impl->flags & ENCODER_IMPL_FLAG_IGNORES_DAMAGE); + client->encoder->on_done = NULL; } encoder_unref(client->encoder); pixman_region_fini(&client->damage); @@ -660,6 +661,7 @@ static void process_fb_update_requests(struct nvnc_client* client) server->n_damage_clients -= !(client->encoder->impl->flags & ENCODER_IMPL_FLAG_IGNORES_DAMAGE); + client->encoder->on_done = NULL; } encoder_unref(client->encoder); client->encoder = encoder_new(encoding, width, height);