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

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