diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-10-05 12:23:51 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-10-05 12:24:15 -0400 |
commit | 33d614359ac65d333a44d2443738552cab05cebd (patch) | |
tree | d5e7079eff6ef708fb76ea0a79d5aa30136e60ee /libs/surfaces | |
parent | 9037e719d048c26619925d0d0944273f87b4b595 (diff) |
only use HUI heartbeat with HUI devices
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 1383c56201..b1a7e2a976 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -428,13 +428,6 @@ MackieControlProtocol::set_active (bool yn) redisplay_connection = redisplay_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::redisplay)); redisplay_timeout->attach (main_loop()->get_context()); - if (_device_info.device_type() == DeviceInfo::HUI) { - Glib::RefPtr<Glib::TimeoutSource> hui_timeout = Glib::TimeoutSource::create (1000); // milliseconds - hui_connection = hui_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::hui_heartbeat)); - hui_timeout->attach (main_loop()->get_context()); - } - - } else { BaseUI::quit (); @@ -711,6 +704,13 @@ MackieControlProtocol::set_device (const string& device_name) } clear_surfaces (); + hui_connection.disconnect (); + + if (_device_info.device_type() == DeviceInfo::HUI) { + Glib::RefPtr<Glib::TimeoutSource> hui_timeout = Glib::TimeoutSource::create (1000); // milliseconds + hui_connection = hui_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::hui_heartbeat)); + hui_timeout->attach (main_loop()->get_context()); + } if (create_surfaces ()) { return -1; |