X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=bf9e3a2c0897973854223520fb37c1fae83018f7;hp=008ee6a282cc3ba326abe6b106a503576d7d753c;hb=90ca4cc8a481c6ac6fde754fbcdf6ca2f3ba2231;hpb=30677c1392b54604b01558cf29b44572731659fc diff --git a/pv/session.cpp b/pv/session.cpp index 008ee6a2..bf9e3a2c 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -299,8 +299,8 @@ void Session::restore_settings(QSettings &settings) filename.toStdString()); set_device(device); - // TODO Perform error handling - start_capture([](QString infoMessage) { (void)infoMessage; }); + start_capture([](QString infoMessage) { + qDebug().noquote() << "Session error:" << infoMessage; }); set_name(QFileInfo(filename).fileName()); } @@ -953,10 +953,8 @@ void Session::sample_thread_proc(function error_handler) set_capture_state(Stopped); // Confirm that SR_DF_END was received - if (cur_logic_segment_) { - qDebug("SR_DF_END was not received."); - assert(false); - } + if (cur_logic_segment_) + qDebug() << "WARNING: SR_DF_END was not received."; // Optimize memory usage free_unused_memory(); @@ -1282,6 +1280,15 @@ void Session::data_feed_in(shared_ptr device, // devices use frames, and for those devices, we need to do it here. { lock_guard lock(data_mutex_); + + if (cur_logic_segment_) + cur_logic_segment_->set_complete(); + + for (auto entry : cur_analog_segments_) { + shared_ptr segment = entry.second; + segment->set_complete(); + } + cur_logic_segment_.reset(); cur_analog_segments_.clear(); }