ignore negative value locates and MMC locate commands
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 22 Oct 2014 16:18:31 +0000 (12:18 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 22 Oct 2014 21:07:11 +0000 (17:07 -0400)
libs/ardour/session_transport.cc

index 3e853a50052359455befae62db2937524c95f291..6954bd0288cf742e11900541bbd70eebc9fd8cac 100644 (file)
@@ -865,6 +865,11 @@ Session::flush_all_inserts ()
 void
 Session::start_locate (framepos_t target_frame, bool with_roll, bool with_flush, bool with_loop, bool force)
 {
+       if (target_frame < 0) {
+               error << _("Locate called for negative sample position - ignored") << endmsg;
+               return;
+       }
+
        if (synced_to_engine()) {
 
                double sp;
@@ -1747,6 +1752,10 @@ Session::maybe_stop (framepos_t limit)
 void
 Session::send_mmc_locate (framepos_t t)
 {
+       if (t < 0) {
+               return;
+       }
+
        if (!_engine.freewheeling()) {
                Timecode::Time time;
                timecode_time_subframes (t, time);