Fix LV2 UI related memory errors with new SLV2.
git-svn-id: svn://localhost/ardour2/branches/3.0@9150 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
1e4c1388c3
commit
b1697a75ac
@ -32,6 +32,7 @@ using namespace PBD;
|
||||
|
||||
#ifdef HAVE_NEW_SLV2
|
||||
SLV2UIHost LV2PluginUI::ui_host = NULL;
|
||||
SLV2Value LV2PluginUI::ui_GtkUI = NULL;
|
||||
#endif
|
||||
|
||||
void
|
||||
@ -171,16 +172,14 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title)
|
||||
|
||||
#ifdef HAVE_NEW_SLV2
|
||||
if (!LV2PluginUI::ui_host) {
|
||||
LV2PluginUI::ui_GtkUI = slv2_value_new_uri(
|
||||
ARDOUR::PluginManager::the_manager()->lv2_world()->world,
|
||||
"http://lv2plug.in/ns/extensions/ui#GtkUI");
|
||||
LV2PluginUI::ui_host = slv2_ui_host_new(
|
||||
LV2PluginUI::lv2_ui_write, NULL, NULL, NULL);
|
||||
}
|
||||
SLV2Value gtk_ui = slv2_value_new_uri(
|
||||
ARDOUR::PluginManager::the_manager()->lv2_world()->world,
|
||||
"http://lv2plug.in/ns/extensions/ui#GtkUI");
|
||||
_inst = slv2_ui_instance_new(
|
||||
_lv2->slv2_plugin(), _lv2->slv2_ui(), gtk_ui, ui_host, this, features_dst);
|
||||
slv2_value_free(gtk_ui);
|
||||
slv2_ui_host_free(ui_host);
|
||||
_lv2->slv2_plugin(), _lv2->slv2_ui(), ui_GtkUI, ui_host, this, features_dst);
|
||||
#else
|
||||
_inst = slv2_ui_instantiate(
|
||||
_lv2->slv2_plugin(), _lv2->slv2_ui(), LV2PluginUI::lv2_ui_write, this,
|
||||
|
@ -80,6 +80,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
|
||||
|
||||
#ifdef HAVE_NEW_SLV2
|
||||
static SLV2UIHost ui_host;
|
||||
static SLV2Value ui_GtkUI;
|
||||
#endif
|
||||
|
||||
static void lv2_ui_write(
|
||||
|
Loading…
Reference in New Issue
Block a user