From a7dbf57afacf0b10c8faaab70e5c411cf539237a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 2 Apr 2024 18:04:02 -0600 Subject: [PATCH] more crash avoidance in sfdb UI if there's no auditioner --- gtk2_ardour/sfdb_ui.cc | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index cc33d6959a..c9a9c8757c 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -997,18 +997,20 @@ SoundFileBrowser::add_gain_meter () { delete gm; - gm = new GainMeter (_session, 250); - std::shared_ptr r = _session->the_auditioner (); - gm->set_controls (r, r->shared_peak_meter(), r->amp(), r->gain_control()); - gm->set_fader_name (X_("GainFader")); + if (r) { + gm = new GainMeter (_session, 250); - meter_packer.set_border_width (12); - meter_packer.pack_start (*gm, false, true); - hpacker.pack_end (meter_packer, false, false); - meter_packer.show_all (); - start_metering (); + gm->set_controls (r, r->shared_peak_meter(), r->amp(), r->gain_control()); + gm->set_fader_name (X_("GainFader")); + + meter_packer.set_border_width (12); + meter_packer.pack_start (*gm, false, true); + hpacker.pack_end (meter_packer, false, false); + meter_packer.show_all (); + start_metering (); + } } void @@ -2132,7 +2134,9 @@ SoundFileOmega::where_combo_changed() void SoundFileOmega::instrument_combo_changed() { - _session->the_auditioner()->set_audition_synth_info( instrument_combo.selected_instrument() ); + if (_session->the_auditioner()) { + _session->the_auditioner()->set_audition_synth_info( instrument_combo.selected_instrument() ); + } } MidiTrackNameSource