X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fsession.cpp;h=589ec333a24c35bfbe02f47b8e393970f4370f42;hb=HEAD;hp=0e17a07bb05f9c663c139d5ed17ad6c965e8939e;hpb=ae8dd8753ec0804f9c87938c13b082f8f39b05b0;p=pulseview.git diff --git a/pv/session.cpp b/pv/session.cpp index 0e17a07b..b4ecc6a8 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -614,6 +614,9 @@ void Session::set_device(shared_ptr device) } catch (const QString &e) { device_.reset(); MainWindow::show_session_error(tr("Failed to open device"), e); + } catch (const sigrok::Error &e) { + device_.reset(); + MainWindow::show_session_error(tr("Failed to open device"), QString(e.what())); } if (device_) { @@ -756,8 +759,11 @@ void Session::load_file(QString file_name, QString setup_file_name, file_name.toStdString()))); } catch (Error& e) { MainWindow::show_session_error(tr("Failed to load %1").arg(file_name), e.what()); - set_default_device(); - main_bar_->update_device_list(); + return; + } + + if (!device_) { + MainWindow::show_session_error(errorMessage, ""); return; } @@ -829,6 +835,8 @@ void Session::start_capture(function error_handler) name_changed(); } + acq_start_time_ = Glib::DateTime::create_now_local(); + // Begin the session sampling_thread_ = std::thread(&Session::sample_thread_proc, this, error_handler); } @@ -923,6 +931,11 @@ double Session::get_samplerate() const return samplerate; } +Glib::DateTime Session::get_acquisition_start_time() const +{ + return acq_start_time_; +} + uint32_t Session::get_highest_segment_id() const { return highest_segment_id_;