From 4b5e05b9845d609524328a88a81011b364e03a8a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 29 Jul 2020 22:30:38 +0200 Subject: [PATCH] Don't display all possible channel checkboxes while the analysis is running as clicking the higher ones will cause an assertion failure. --- src/wx/audio_dialog.cc | 25 +++++++++++++++++-------- src/wx/audio_dialog.h | 1 + 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc index f2377de43..0f6bace25 100644 --- a/src/wx/audio_dialog.cc +++ b/src/wx/audio_dialog.cc @@ -111,6 +111,8 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr film, weak_ptrBind (wxEVT_CHECKBOX, boost::bind (&AudioDialog::channel_clicked, this, _1)); } + show_or_hide_channel_checkboxes (); + { wxStaticText* m = new StaticText (this, _("Type")); m->SetFont (subheading_font); @@ -168,6 +170,20 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr film, weak_ptrCursor.connect (bind (&AudioDialog::set_cursor, this, _1, _2)); } + +void +AudioDialog::show_or_hide_channel_checkboxes () +{ + for (int i = 0; i < _channels; ++i) { + _channel_checkbox[i]->Show (); + } + + for (int i = _channels; i < MAX_DCP_AUDIO_CHANNELS; ++i) { + _channel_checkbox[i]->Hide (); + } +} + + void AudioDialog::try_to_load_analysis () { @@ -216,14 +232,7 @@ AudioDialog::try_to_load_analysis () _plot->set_analysis (_analysis); _plot->set_gain_correction (_analysis->gain_correction (_playlist)); setup_statistics (); - - for (int i = 0; i < _channels; ++i) { - _channel_checkbox[i]->Show (); - } - - for (int i = _channels; i < MAX_DCP_AUDIO_CHANNELS; ++i) { - _channel_checkbox[i]->Hide (); - } + show_or_hide_channel_checkboxes (); /* Set up some defaults if no check boxes are checked */ diff --git a/src/wx/audio_dialog.h b/src/wx/audio_dialog.h index e5625d415..8f7151b1b 100644 --- a/src/wx/audio_dialog.h +++ b/src/wx/audio_dialog.h @@ -50,6 +50,7 @@ private: void try_to_load_analysis (); void analysis_finished (); void setup_statistics (); + void show_or_hide_channel_checkboxes (); boost::shared_ptr _analysis; boost::weak_ptr _film; -- 2.30.2