summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-02-21 15:48:53 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2020-02-21 15:48:53 -0700
commit541ea5ccad4d84563f75b16a885d20b8590f083a (patch)
tree7edadfea0c9c2d042583750243dd565d230f4780 /libs
parentdb3995c559974cc655373b654e26944c983a4b01 (diff)
avoid double-locate call when locating-while-stopped
Session::locate() used TransportFSM::stopped() to determine if realtime stop was required. But this would return false, since the motion state at that time is WaitingForLocate. So invert the test and use !TransportFSM::rolling
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session_transport.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 2cc62118b5..80d4cda0ea 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -228,7 +228,7 @@ Session::locate (samplepos_t target_sample, bool with_roll, bool with_flush, boo
/* 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();
+ bool transport_was_stopped = !_transport_fsm->rolling();
if (!transport_was_stopped &&
(!auto_play_legal || !config.get_auto_play()) &&