diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-02-21 15:48:53 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-02-21 15:48:53 -0700 |
commit | 541ea5ccad4d84563f75b16a885d20b8590f083a (patch) | |
tree | 7edadfea0c9c2d042583750243dd565d230f4780 /libs | |
parent | db3995c559974cc655373b654e26944c983a4b01 (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.cc | 2 |
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()) && |