From 350938b68ea98f3bdfc702daf7a11aa10359b45f Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 14 Jan 2021 01:43:20 +0100 Subject: [PATCH] Fix crash at exit when EngineDialog shows some page other than 1st #1 std::operator== (__lhs=) at /usr/include/c++/8/bits/basic_string.h:6058 #2 EngineControl::get_matching_state at ../gtk2_ardour/engine_dialog.cc:1874 #3 EngineControl::get_saved_state_for_currently_displayed_backend_and_device() at ../gtk2_ardour/engine_dialog.cc:1893 #4 EngineControl::post_push() at ../gtk2_ardour/engine_dialog.cc:2655 #5 EngineControl::push_state_to_backend(bool) at ../gtk2_ardour/engine_dialog.cc:2643 #6 EngineControl::on_switch_page(_GtkNotebookPage*, unsigned int) (this=0x55bc43fd4d40, page_num=1) at ../gtk2_ardour/engine_dialog.cc:2988 [...] #20 () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #21 g_object_run_dispose () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #22 Gtk::VBox::~VBox() () at /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1 #23 EngineControl::~EngineControl() (this=0x55bc43fd4d40, __in_chrg=, __vtt_parm=) at ../gtk2_ardour/engine_dialog.cc:73 --- gtk2_ardour/engine_dialog.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index cb674227a7..7430d93211 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -2939,6 +2939,9 @@ EngineControl::set_desired_sample_rate (uint32_t sr) void EngineControl::on_switch_page (GtkNotebookPage*, guint page_num) { + if (ignore_changes) { + return; + } if (page_num == 0) { _measure_midi.reset(); update_sensitivity ();