From: Robin Gareus Date: Wed, 10 Aug 2016 14:31:56 +0000 (+0200) Subject: fix crash when copy'ing latent plugins X-Git-Tag: 5.0^0 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=c8c6bca6587450ff64303dbc994a4cd28d6ce7aa fix crash when copy'ing latent plugins --- diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index bfa86fbc80..9a0e6c55c4 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -555,6 +555,13 @@ PluginInsert::activate () } Processor::activate (); + /* when setting state e.g ProcessorBox::paste_processor_state () + * the plugin is not yet owned by a route. + * but no matter. Route::add_processors() will call activate () again + */ + if (!owner ()) { + return; + } if (_plugin_signal_latency != signal_latency ()) { _plugin_signal_latency = signal_latency (); latency_changed (); diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 4b14d761eb..11db73241c 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1019,7 +1019,7 @@ Route::add_processors (const ProcessorList& others, boost::shared_ptr } if ((*i)->active()) { - // why? emit ActiveChanged() ?? + // emit ActiveChanged() and latency_changed() if needed (*i)->activate (); }