Reset pending_locate_roll in all cases, not just when the
authorCarl Hetherington <carl@carlh.net>
Sat, 1 Sep 2012 11:24:17 +0000 (11:24 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 1 Sep 2012 11:24:17 +0000 (11:24 +0000)
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

index 4f0fb90c53a6d76ccb2357be9aceff248c76ace7..c25af99ab0fe582b8ea36a1fcaa33738034e5f6b 100644 (file)
@@ -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;
        }