From cc5e8d41da336535d04169550d09cfe02e9cb065 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 20 Jan 2012 03:39:45 +0000 Subject: [PATCH] patch from colinf to make dbl-click on send "box" map its controls to the strip; remove related stub functions from ProcessorBox; fix crash when removing send due to the process lock not being held git-svn-id: svn://localhost/ardour2/branches/3.0@11274 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/processor_box.cc | 15 +++++---------- gtk2_ardour/processor_box.h | 3 --- libs/ardour/route.cc | 1 + 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index a97f8d08b4..8eb1063bba 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -656,16 +656,6 @@ ProcessorBox::build_possible_aux_menu () return menu; } -void -ProcessorBox::show_send_controls () -{ -} - -void -ProcessorBox::new_send () -{ -} - void ProcessorBox::show_processor_menu (int arg) { @@ -1830,6 +1820,11 @@ ProcessorBox::toggle_edit_processor (boost::shared_ptr processor) if (boost::dynamic_pointer_cast (processor) == 0) { SendUIWindow* w = new SendUIWindow (send, _session); w->show (); + } else { + /* assign internal send to main fader */ + if (_parent_strip) { + _parent_strip->show_send(send); + } } } else if ((retrn = boost::dynamic_pointer_cast (processor)) != 0) { diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 270b4147e0..3caa2925c9 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -271,9 +271,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD Width _width; - void new_send (); - void show_send_controls (); - Gtk::Menu *processor_menu; gint processor_menu_map_handler (GdkEventAny *ev); Gtk::Menu * build_processor_menu (); diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 1481a1fd1c..6a7ddde48b 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2565,6 +2565,7 @@ Route::add_send_to_internal_return (InternalSend* send) void Route::remove_send_from_internal_return (InternalSend* send) { + Glib::Mutex::Lock lm (AudioEngine::instance()->process_lock ()); Glib::RWLock::ReaderLock rm (_processor_lock); for (ProcessorList::const_iterator x = _processors.begin(); x != _processors.end(); ++x) {