diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-18 17:59:44 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-18 19:59:24 -0700 |
commit | d83cd0588278ac23b320694762e8fffd347fb4ad (patch) | |
tree | 254f21182d0bb7a3276eebddfb70c751577c5021 /libs/ardour/transport_fsm.cc | |
parent | cb825a61bac3476dfc444ea7e952a55591044632 (diff) |
fix broken-ness caused by bad initialization of a StopTransport event in TransportFSM
Diffstat (limited to 'libs/ardour/transport_fsm.cc')
-rw-r--r-- | libs/ardour/transport_fsm.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libs/ardour/transport_fsm.cc b/libs/ardour/transport_fsm.cc index 05d4757e95..8e3ef98cfa 100644 --- a/libs/ardour/transport_fsm.cc +++ b/libs/ardour/transport_fsm.cc @@ -54,8 +54,7 @@ TransportFSM::Event::operator delete (void *ptr, size_t /*size*/) } TransportFSM::TransportFSM (TransportAPI& tapi) - : _last_locate (Locate) - , _last_stop (StopTransport) + : _last_locate (Locate, 0, MustRoll, false, false, false) /* all but first argument don't matter */ , api (&tapi) , processing (0) { @@ -232,7 +231,7 @@ TransportFSM::process_event (Event& ev, bool already_deferred, bool& deferred) switch (_motion_state) { case Rolling: transition (DeclickToStop); - stop_playback (); + stop_playback (ev); break; case Stopped: break; @@ -369,14 +368,14 @@ TransportFSM::start_playback () } void -TransportFSM::stop_playback () +TransportFSM::stop_playback (Event const & s) { DEBUG_TRACE (DEBUG::TFSMEvents, "stop_playback\n"); _last_locate.target = max_samplepos; current_roll_after_locate_status = boost::none; - api->stop_transport (_last_stop.abort, _last_stop.clear_state); + api->stop_transport (s.abort, s.clear_state); } void |