summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_fsm.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-01-18 17:59:44 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2020-01-18 19:59:24 -0700
commitd83cd0588278ac23b320694762e8fffd347fb4ad (patch)
tree254f21182d0bb7a3276eebddfb70c751577c5021 /libs/ardour/transport_fsm.cc
parentcb825a61bac3476dfc444ea7e952a55591044632 (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.cc9
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