From: Tim Mayberry Date: Mon, 10 Aug 2015 10:02:25 +0000 (+1000) Subject: Use SignalBlocker class in EngineControl to block widget signal emission X-Git-Tag: 4.2~61 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=eaf5ed2b181d1569dbf638af4b009d2061c0b2e9 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. --- diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 28e0adcdca..e905899872 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -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 backend; @@ -1156,7 +1155,7 @@ EngineControl::list_devices () void EngineControl::driver_changed () { - DEBUG_ECONTROL ("driver_changed"); + SignalBlocker blocker (*this, "driver_changed"); boost::shared_ptr 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 backend = ARDOUR::AudioEngine::instance()->current_backend(); assert (backend);