summaryrefslogtreecommitdiff
path: root/libs/ardour/session_click.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_click.cc')
-rw-r--r--libs/ardour/session_click.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/session_click.cc b/libs/ardour/session_click.cc
index 250adfe4cc..c9777500a2 100644
--- a/libs/ardour/session_click.cc
+++ b/libs/ardour/session_click.cc
@@ -46,8 +46,10 @@ Session::click (jack_nframes_t start, jack_nframes_t nframes, jack_nframes_t off
if (_click_io == 0) {
return;
}
+
+ TentativeRWLockMonitor clickm (click_lock, true, __LINE__, __FILE__);
- if (_transport_speed != 1.0 || !_clicking || click_data == 0) {
+ if (!clickm.locked() || _transport_speed != 1.0 || !_clicking || click_data == 0) {
_click_io->silence (nframes, offset);
return;
}
@@ -207,7 +209,7 @@ Session::setup_click_sounds (int which)
void
Session::clear_clicks ()
{
- LockMonitor lm (route_lock, __LINE__, __FILE__);
+ RWLockMonitor lm (click_lock, true, __LINE__, __FILE__);
for (Clicks::iterator i = clicks.begin(); i != clicks.end(); ++i) {
delete *i;