summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-10-05 12:23:51 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-10-05 12:24:15 -0400
commit33d614359ac65d333a44d2443738552cab05cebd (patch)
treed5e7079eff6ef708fb76ea0a79d5aa30136e60ee
parent9037e719d048c26619925d0d0944273f87b4b595 (diff)
only use HUI heartbeat with HUI devices
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc14
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;