aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-05-27 14:39:05 -0400
committerDavid Robillard <d@drobilla.net>2022-05-27 14:39:05 -0400
commit0592b89e7e707e2363aa6b4332de5b85dd557a75 (patch)
tree400f5ae36af110f38443a8c58477dcd96ec06c94 /src/jalv.c
parentaf78fe650998c471bebc21f64c3d84402f6aa6a7 (diff)
downloadjalv-0592b89e7e707e2363aa6b4332de5b85dd557a75.tar.gz
jalv-0592b89e7e707e2363aa6b4332de5b85dd557a75.tar.bz2
jalv-0592b89e7e707e2363aa6b4332de5b85dd557a75.zip
Fix crash when exiting without having set up a backend
Diffstat (limited to 'src/jalv.c')
-rw-r--r--src/jalv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/jalv.c b/src/jalv.c
index ebb8f5e..3c5c004 100644
--- a/src/jalv.c
+++ b/src/jalv.c
@@ -1296,13 +1296,17 @@ jalv_close(Jalv* const jalv)
jalv_worker_finish(&jalv->worker);
// Deactivate audio
- jalv_backend_deactivate(jalv);
+ if (jalv->backend) {
+ jalv_backend_deactivate(jalv);
+ jalv_backend_close(jalv);
+ }
+
+ // Free event port buffers
for (uint32_t i = 0; i < jalv->num_ports; ++i) {
if (jalv->ports[i].evbuf) {
lv2_evbuf_free(jalv->ports[i].evbuf);
}
}
- jalv_backend_close(jalv);
// Destroy the worker
jalv_worker_destroy(&jalv->worker);