summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-24 22:14:06 +0000
committerDavid Robillard <d@drobilla.net>2015-10-24 22:14:06 +0000
commit557f9d42641f7f602f9fec4d2f3aae50b893de6b (patch)
tree06b7ef9e9d5f153bd878fc084ba0ab838bf8bd71 /src/gui
parente4d549a7d7322103904ac8ba8d5a4711c6901870 (diff)
downloadingen-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.cpp4
-rw-r--r--src/gui/NodeModule.cpp20
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");
}