diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jalv.c | 5 | ||||
-rw-r--r-- | src/worker.c | 10 |
2 files changed, 8 insertions, 7 deletions
@@ -1278,6 +1278,7 @@ jalv_open(Jalv* const jalv, int* argc, char*** argv) // Apply loaded state to plugin instance if necessary if (state) { jalv_apply_state(jalv, state); + lilv_state_free(state); } if (jalv->opts.controls) { @@ -1336,6 +1337,9 @@ jalv_close(Jalv* const jalv) // Destroy the worker jalv_worker_destroy(&jalv->worker); + if (jalv->safe_restore) { + jalv_worker_destroy(&jalv->state_worker); + } // Deactivate plugin #if USE_SUIL @@ -1374,6 +1378,7 @@ jalv_close(Jalv* const jalv) sratom_free(jalv->sratom); sratom_free(jalv->ui_sratom); + serd_env_free(jalv->env); lilv_uis_free(jalv->uis); lilv_world_free(jalv->world); diff --git a/src/worker.c b/src/worker.c index 68030c5..2abf363 100644 --- a/src/worker.c +++ b/src/worker.c @@ -82,13 +82,9 @@ jalv_worker_finish(JalvWorker* worker) void jalv_worker_destroy(JalvWorker* worker) { - if (worker->requests) { - if (worker->threaded) { - zix_ring_free(worker->requests); - } - zix_ring_free(worker->responses); - free(worker->response); - } + zix_ring_free(worker->requests); + zix_ring_free(worker->responses); + free(worker->response); } LV2_Worker_Status |