From 228fbd3192807c8e8834cbe476a2937cb2f076b3 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 20 Sep 2019 16:52:13 -0600 Subject: [PATCH] correct problem with some locates that would keep rolling after they are finished --- libs/ardour/session_transport.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index b0f7c0b414..798091209c 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -265,7 +265,11 @@ Session::do_locate (samplepos_t target_sample, bool with_roll, bool with_flush, * */ - bool transport_was_stopped = !transport_rolling(); + + /* it is important here that we use the internal state of the transport + FSM, not the public facing result of ::transport_rolling() + */ + bool transport_was_stopped = _transport_fsm->stopped(); if (!transport_was_stopped && (!auto_play_legal || !config.get_auto_play()) &&