diff --git a/libs/ardour/port_engine_shared.cc b/libs/ardour/port_engine_shared.cc index a0bfa0a7f2..f8ab0e2047 100644 --- a/libs/ardour/port_engine_shared.cc +++ b/libs/ardour/port_engine_shared.cc @@ -153,12 +153,14 @@ bool BackendPort::is_physically_connected () const void BackendPort::set_latency_range (const LatencyRange &latency_range, bool for_playback) { - if (for_playback) { - _playback_latency_range = latency_range; - } else { - _capture_latency_range = latency_range; + LatencyRange& lr = for_playback ? _playback_latency_range : _capture_latency_range; + + if (lr == latency_range) { + return; } + lr = latency_range; + for (std::set::const_iterator it = _connections.begin (); it != _connections.end (); ++it) { if ((*it)->is_physical ()) { (*it)->update_connected_latency (is_input ());