13
0

Fix sends.

git-svn-id: svn://localhost/ardour2/branches/3.0@4426 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-01-21 23:29:15 +00:00
parent 7593f104ab
commit d58b8c243f
2 changed files with 10 additions and 0 deletions

View File

@ -516,6 +516,10 @@ ProcessorBox::choose_send ()
ios->show_all ();
/* bit of a hack; keep a shared_ptr to send around so that it doesn't get deleted while
the IOSelectorWindow is doing its stuff */
_send_being_created = send;
boost::shared_ptr<Processor> r = boost::static_pointer_cast<Processor>(send);
ios->selector().Finished.connect (bind (mem_fun(*this, &ProcessorBox::send_io_finished), boost::weak_ptr<Processor>(r), ios));
@ -526,6 +530,9 @@ ProcessorBox::send_io_finished (IOSelector::Result r, boost::weak_ptr<Processor>
{
boost::shared_ptr<Processor> processor (weak_processor.lock());
/* now we can lose the dummy shared_ptr */
_send_being_created.reset ();
if (!processor) {
return;
}

View File

@ -94,6 +94,9 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject
bool ab_direction;
std::vector<sigc::connection> connections;
/// a send that is in the process of creation
boost::shared_ptr<ARDOUR::Send> _send_being_created;
ARDOUR::Placement _placement;
PluginSelector & _plugin_selector;