fix crash when changing the Audio System

When the i/o channel spinbox widgets are realized, they call
print_channel_count(). A "0" is formatted as "all available channels".
This causes the GTK::Entry inside the spinbox to emit a "changed"
signal which in turn triggers a parameter_changed(), [..], store_state(),
which calls into the spinbox again while it is being realized,
which makes gtkmm barf.

Start Ardour with JACK running (autoconnect to jack), Window ->
Audio/Midi settings -> initial no_control_notebook. Change
Audio System -> [control widgets are realized] -> glibmm std::exception
This commit is contained in:
Robin Gareus 2014-10-03 15:32:12 +02:00
parent 5e61c8ab12
commit c3847269c2

View File

@ -373,7 +373,10 @@ EngineControl::build_notebook ()
basic_vbox.pack_start (*hpacker);
}
basic_vbox.show_all ();
{
PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
basic_vbox.show_all ();
}
}
void