projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manual: install manual conversion result files generated by cmake
[pulseview.git]
/
pv
/
prop
/
double.cpp
diff --git
a/pv/prop/double.cpp
b/pv/prop/double.cpp
index 57512d723ff26b5cd3473432040e975cf914e8bb..f39ae844fc97ce34b4519d4a67546a867e8cdb74 100644
(file)
--- a/
pv/prop/double.cpp
+++ b/
pv/prop/double.cpp
@@
-19,8
+19,11
@@
#include <cassert>
#include <cassert>
+#include <QDebug>
#include <QDoubleSpinBox>
#include <QDoubleSpinBox>
+#include <libsigrokcxx/libsigrokcxx.hpp>
+
#include "double.hpp"
using boost::optional;
#include "double.hpp"
using boost::optional;
@@
-54,9
+57,14
@@
QWidget* Double::get_widget(QWidget *parent, bool auto_commit)
if (!getter_)
return nullptr;
if (!getter_)
return nullptr;
- Glib::VariantBase variant = getter_();
- if (!variant.gobj())
+ try {
+ Glib::VariantBase variant = getter_();
+ if (!variant.gobj())
+ return nullptr;
+ } catch (const sigrok::Error &e) {
+ qWarning() << tr("Querying config key %1 resulted in %2").arg(name_, e.what());
return nullptr;
return nullptr;
+ }
spin_box_ = new QDoubleSpinBox(parent);
spin_box_->setDecimals(decimals_);
spin_box_ = new QDoubleSpinBox(parent);
spin_box_->setDecimals(decimals_);
@@
-80,7
+88,15
@@
void Double::update_widget()
if (!spin_box_)
return;
if (!spin_box_)
return;
- Glib::VariantBase variant = getter_();
+ Glib::VariantBase variant;
+
+ try {
+ variant = getter_();
+ } catch (const sigrok::Error &e) {
+ qWarning() << tr("Querying config key %1 resulted in %2").arg(name_, e.what());
+ return;
+ }
+
assert(variant.gobj());
double value = Glib::VariantBase::cast_dynamic<Glib::Variant<double>>(
assert(variant.gobj());
double value = Glib::VariantBase::cast_dynamic<Glib::Variant<double>>(