summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-09-20 16:52:13 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-09-22 12:23:54 -0600
commit228fbd3192807c8e8834cbe476a2937cb2f076b3 (patch)
tree4c192b6a7c4de4347098da5eca01d7097db91863 /libs
parentd7c91b5322b35f344e50b7f5a4db3fb3a815d5bf (diff)
correct problem with some locates that would keep rolling after they are finished
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session_transport.cc6
1 files changed, 5 insertions, 1 deletions
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()) &&