Fix Auditioner edge-case when synth cannot be loaded

This commit is contained in:
Robin Gareus 2020-04-23 02:30:16 +02:00
parent c264ab6c95
commit 6b10987e4b
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -135,7 +135,9 @@ Auditioner::load_synth (bool need_lock)
unload_synth(need_lock);
boost::shared_ptr<Plugin> p = audition_synth_info->load (_session);
asynth = boost::shared_ptr<Processor> (new PluginInsert (_session, p));
if (p) {
asynth = boost::shared_ptr<Processor> (new PluginInsert (_session, p));
}
}
void
@ -143,10 +145,9 @@ Auditioner::unload_synth (bool need_lock)
{
if (asynth) {
asynth->drop_references ();
remove_processor (asynth, NULL, need_lock);
}
if (0 == remove_processor (asynth, NULL, need_lock)) {
asynth.reset ();
}
asynth.reset ();
}
int