All plugin activate() method when required for copy & paste operations. Fixes segfaults on drag and drop of plugins between routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@6203 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
673a995e5c
commit
1e424e1146
@ -89,6 +89,8 @@ PluginInsert::PluginInsert (Session& s, const XMLNode& node)
|
||||
throw failed_constructor();
|
||||
}
|
||||
|
||||
_pending_active = _active;
|
||||
|
||||
{
|
||||
Glib::Mutex::Lock em (_session.engine().process_lock());
|
||||
IO::PortCountChanged (max(input_streams(), output_streams()));
|
||||
@ -718,7 +720,6 @@ PluginInsert::set_state(const XMLNode& node, int version)
|
||||
}
|
||||
|
||||
if (prop->value() == X_("ladspa") || prop->value() == X_("Ladspa")) { /* handle old school sessions */
|
||||
cout << "- LADSPA\n";
|
||||
type = ARDOUR::LADSPA;
|
||||
} else if (prop->value() == X_("lv2")) {
|
||||
type = ARDOUR::LV2;
|
||||
@ -752,8 +753,6 @@ PluginInsert::set_state(const XMLNode& node, int version)
|
||||
}
|
||||
}
|
||||
|
||||
cout << "- ID " << prop->value() << "\n";
|
||||
|
||||
boost::shared_ptr<Plugin> plugin;
|
||||
|
||||
plugin = find_plugin (_session, prop->value(), type);
|
||||
|
@ -1014,6 +1014,10 @@ Route::add_processors (const ProcessorList& others, ProcessorList::iterator iter
|
||||
|
||||
_processors.insert (iter, *i);
|
||||
|
||||
if ((*i)->active()) {
|
||||
(*i)->activate ();
|
||||
}
|
||||
|
||||
if (configure_processors_unlocked (err)) {
|
||||
++existing_end;
|
||||
_processors.erase (existing_end, _processors.end());
|
||||
|
Loading…
Reference in New Issue
Block a user