13
0

Use SignalBlocker class in EngineControl to block widget signal emission

This stops a whole lot of redundant signal emission and makes it much easier to
think about what is going on. It also makes the dialog present much faster.
This commit is contained in:
Tim Mayberry 2015-08-10 20:02:25 +10:00
parent 001c1a0910
commit eaf5ed2b18

View File

@ -824,8 +824,7 @@ EngineControl::refresh_midi_display (std::string focus)
void
EngineControl::backend_changed ()
{
DEBUG_ECONTROL ("backend_changed");
SignalBlocker blocker (*this, "backend_changed");
string backend_name = backend_combo.get_active_text();
boost::shared_ptr<ARDOUR::AudioBackend> backend;
@ -1156,7 +1155,7 @@ EngineControl::list_devices ()
void
EngineControl::driver_changed ()
{
DEBUG_ECONTROL ("driver_changed");
SignalBlocker blocker (*this, "driver_changed");
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
assert (backend);
@ -1261,7 +1260,7 @@ EngineControl::set_buffersize_popdown_strings (const std::string& device_name)
void
EngineControl::device_changed ()
{
DEBUG_ECONTROL ("device_changed");
SignalBlocker blocker (*this, "device_changed");
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
assert (backend);