diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jalv.c | 14 | ||||
-rw-r--r-- | src/jalv_qt.cpp | 3 |
2 files changed, 17 insertions, 0 deletions
@@ -1211,6 +1211,20 @@ jalv_close(Jalv* const jalv) #ifdef HAVE_SUIL suil_host_free(jalv->ui_host); #endif + + for (unsigned i = 0; i < jalv->controls.n_controls; ++i) { + ControlID* const control = jalv->controls.controls[i]; + lilv_node_free(control->node); + lilv_node_free(control->symbol); + lilv_node_free(control->label); + lilv_node_free(control->group); + lilv_node_free(control->min); + lilv_node_free(control->max); + lilv_node_free(control->def); + free(control); + } + free(jalv->controls.controls); + if (jalv->sratom) { sratom_free(jalv->sratom); } diff --git a/src/jalv_qt.cpp b/src/jalv_qt.cpp index aa6aea4..582361f 100644 --- a/src/jalv_qt.cpp +++ b/src/jalv_qt.cpp @@ -422,6 +422,7 @@ Control::Control(PortContainer portContainer, QWidget* parent) } else { steps = DIAL_STEPS; } + lilv_node_free(stepsNode); // Fill scalePoints Map LilvScalePoints* sp = lilv_port_get_scale_points(plugin, lilvPort); @@ -654,11 +655,13 @@ build_control_widget(Jalv* jalv) } else { layout->addWidget(control); } + lilv_node_free(lastGroup); lastGroup = group; uint32_t index = lilv_port_get_index(plugin, port->lilv_port); jalv->ports[index].widget = control; } + lilv_node_free(lastGroup); grid->setLayout(layout); |