diff options
author | David Robillard <d@drobilla.net> | 2015-10-24 22:14:06 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-10-24 22:14:06 +0000 |
commit | 557f9d42641f7f602f9fec4d2f3aae50b893de6b (patch) | |
tree | 06b7ef9e9d5f153bd878fc084ba0ab838bf8bd71 /src/gui | |
parent | e4d549a7d7322103904ac8ba8d5a4711c6901870 (diff) | |
download | ingen-557f9d42641f7f602f9fec4d2f3aae50b893de6b.tar.gz ingen-557f9d42641f7f602f9fec4d2f3aae50b893de6b.tar.bz2 ingen-557f9d42641f7f602f9fec4d2f3aae50b893de6b.zip |
Fix LV2 UIs that send during instantiation
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5780 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/App.cpp | 4 | ||||
-rw-r--r-- | src/gui/NodeModule.cpp | 20 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/gui/App.cpp b/src/gui/App.cpp index 0c7aea8c..2624d1e9 100644 --- a/src/gui/App.cpp +++ b/src/gui/App.cpp @@ -234,7 +234,9 @@ App::set_property(const Raul::URI& subject, feedback and bandwidth wastage, see Delta.cpp). So, assume everything went as planned here and fire the signal ourselves as if the server feedback came back immediately. */ - _client->signal_property_change().emit(subject, key, value); + if (key != uris().ingen_activity) { + _client->signal_property_change().emit(subject, key, value); + } } void diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp index ae9a997d..4e149bbf 100644 --- a/src/gui/NodeModule.cpp +++ b/src/gui/NodeModule.cpp @@ -235,14 +235,18 @@ NodeModule::embed_gui(bool embed) _plugin_ui->signal_property_changed().connect( sigc::mem_fun(app(), &App::set_property)); - GtkWidget* c_widget = (GtkWidget*)_plugin_ui->get_widget(); - _gui_widget = Glib::wrap(c_widget); - - Gtk::Container* container = new Gtk::EventBox(); - container->set_name("IngenEmbeddedUI"); - container->set_border_width(4.0); - container->add(*_gui_widget); - Ganv::Module::embed(container); + if (!_plugin_ui->instantiate()) { + app().log().error("Failed to instantiate LV2 UI\n"); + } else { + GtkWidget* c_widget = (GtkWidget*)_plugin_ui->get_widget(); + _gui_widget = Glib::wrap(c_widget); + + Gtk::Container* container = new Gtk::EventBox(); + container->set_name("IngenEmbeddedUI"); + container->set_border_width(4.0); + container->add(*_gui_widget); + Ganv::Module::embed(container); + } } else { app().log().error("Failed to create LV2 UI\n"); } |