projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manual: Rename pulseview_manual.* to manual.*.
[pulseview.git]
/
pv
/
prop
/
enum.cpp
diff --git
a/pv/prop/enum.cpp
b/pv/prop/enum.cpp
index 563f5384dc2313f9ab9448b7596462112c2454eb..d62c901cf4c70d2c3848b3a3875d9d088596b794 100644
(file)
--- a/
pv/prop/enum.cpp
+++ b/
pv/prop/enum.cpp
@@
-29,6
+29,8
@@
#include <QLabel>
#include <QSlider>
#include <QLabel>
#include <QSlider>
+#include <libsigrokcxx/libsigrokcxx.hpp>
+
#include "enum.hpp"
using std::abs;
#include "enum.hpp"
using std::abs;
@@
-56,7
+58,7
@@
Enum::Enum(QString name, QString desc,
// std_gvar_min_max_step_thresholds()
vector<double> deltas;
// std_gvar_min_max_step_thresholds()
vector<double> deltas;
- double prev_value;
+ double prev_value
= 0
;
for (const pair<Glib::VariantBase, QString> &v : values_) {
gdouble value;
for (const pair<Glib::VariantBase, QString> &v : values_) {
gdouble value;
@@
-103,7
+105,15
@@
QWidget* Enum::get_widget(QWidget *parent, bool auto_commit)
if (!getter_)
return nullptr;
if (!getter_)
return nullptr;
- 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 nullptr;
+ }
+
if (!variant.gobj())
return nullptr;
if (!variant.gobj())
return nullptr;
@@
-158,7
+168,15
@@
QWidget* Enum::get_widget(QWidget *parent, bool auto_commit)
void Enum::update_widget()
{
void Enum::update_widget()
{
- 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());
if (is_range_) {
assert(variant.gobj());
if (is_range_) {