diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-09-20 16:52:13 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-09-22 12:23:54 -0600 |
commit | 228fbd3192807c8e8834cbe476a2937cb2f076b3 (patch) | |
tree | 4c192b6a7c4de4347098da5eca01d7097db91863 /libs | |
parent | d7c91b5322b35f344e50b7f5a4db3fb3a815d5bf (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.cc | 6 |
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()) && |