summaryrefslogtreecommitdiff
path: root/gtk2_ardour/redirect_box.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-04-26 12:34:21 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-04-26 12:34:21 +0000
commit4ec4eb24638add2add1496a051cb5b57517b32c8 (patch)
treefa77027f90a449d8f3739ae84881f7c557dc8cbe /gtk2_ardour/redirect_box.cc
parent12f2c337e38d910c21127b3cdc50608724471daa (diff)
fix 2 remaining issues with new plugin menu - 1. tracks don't respond to plugin ops on other tracks & 2. multiple plugin addition at once from the manager window works again
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3292 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/redirect_box.cc')
-rw-r--r--gtk2_ardour/redirect_box.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk2_ardour/redirect_box.cc b/gtk2_ardour/redirect_box.cc
index 4b69dfc418..e39f5cee04 100644
--- a/gtk2_ardour/redirect_box.cc
+++ b/gtk2_ardour/redirect_box.cc
@@ -147,6 +147,10 @@ RedirectBox::RedirectBox (Placement pcmnt, Session& sess, boost::shared_ptr<Rout
redirect_display.signal_button_press_event().connect (mem_fun(*this, &RedirectBox::redirect_button_press_event), false);
redirect_display.signal_button_release_event().connect (mem_fun(*this, &RedirectBox::redirect_button_release_event));
+ using_plugin_selector = false;
+ _plugin_selector.signal_hide().connect (mem_fun (*this, &RedirectBox::plugin_selector_hidden));
+ _plugin_selector.signal_show().connect (mem_fun (*this, &RedirectBox::plugin_selector_shown));
+
/* start off as a passthru strip. we'll correct this, if necessary,
in update_diskstream_display().
*/
@@ -415,7 +419,9 @@ RedirectBox::insert_plugin_chosen (boost::shared_ptr<Plugin> plugin)
}
}
- newplug_connection.disconnect();
+ if (!using_plugin_selector) {
+ newplug_connection.disconnect();
+ }
}
void
@@ -1404,3 +1410,15 @@ RedirectBox::generate_redirect_title (boost::shared_ptr<PluginInsert> pi)
return string_compose(_("%1: %2 (by %3)"), _route->name(), pi->name(), maker);
}
+void
+RedirectBox::plugin_selector_hidden ()
+{
+ newplug_connection.disconnect();
+ using_plugin_selector = false;
+}
+
+void
+RedirectBox::plugin_selector_shown ()
+{
+ using_plugin_selector = true;
+}