Fix #792 by making sure we don't request samples that don't exist
[pulseview.git] / pv / mainwindow.cpp
index 1a05907c9c1a4470be862fdf2691887411b915e3..4f6bc41d551c4182919539cb3810882f9e10e60d 100644 (file)
@@ -74,6 +74,7 @@ using std::cerr;
 using std::endl;
 using std::list;
 using std::map;
+using std::max;
 using std::pair;
 using std::shared_ptr;
 using std::string;
@@ -257,7 +258,8 @@ void MainWindow::export_file(shared_ptr<OutputFormat> format,
                const pv::util::Timestamp& start_time = view_->cursors()->first()->time();
                const pv::util::Timestamp& end_time = view_->cursors()->second()->time();
 
-               const uint64_t start_sample = start_time.convert_to<double>() * samplerate;
+               const uint64_t start_sample =
+                       std::max((double)0, start_time.convert_to<double>() * samplerate);
                const uint64_t end_sample = end_time.convert_to<double>() * samplerate;
 
                sample_range = std::make_pair(start_sample, end_sample);