From c779474c13dfae1cccdaccd2b8ad44fd69d35d3c Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 1 Sep 2012 11:24:17 +0000 Subject: [PATCH] Reset pending_locate_roll in all cases, not just when the roll happened; should help with #5047. git-svn-id: svn://localhost/ardour2/branches/3.0@13158 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/session_transport.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 4f0fb90c53..c25af99ab0 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -645,8 +645,12 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished) if ((ptw & PostTransportLocate) && !config.get_external_sync() && pending_locate_roll) { request_transport_speed (1.0); - pending_locate_roll = false; } + + /* Even if we didn't do a pending locate roll this time, we don't want it hanging + around for next time. + */ + pending_locate_roll = false; } void @@ -850,7 +854,7 @@ Session::locate (framepos_t target_frame, bool with_roll, bool with_flush, bool * though, is all the housekeeping that is associated with non-linear * changes in the value of _transport_frame. */ - + if (actively_recording() && !for_seamless_loop) { return; }