X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fdouble.cpp;fp=pv%2Fprop%2Fdouble.cpp;h=54540bc68ded41c0575c3202726ac383665b5814;hp=93b45d327362f93b12595a4249e154bcdac0bb14;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hpb=87b79835014a386fb51b52bc993dbb693bd27197 diff --git a/pv/prop/double.cpp b/pv/prop/double.cpp index 93b45d32..54540bc6 100644 --- a/pv/prop/double.cpp +++ b/pv/prop/double.cpp @@ -55,10 +55,16 @@ QWidget* Double::get_widget(QWidget *parent, bool auto_commit) if (_spin_box) return _spin_box; - GVariant *const value = _getter ? _getter() : NULL; - if (!value) + if (!_getter) return NULL; + Glib::VariantBase variant = _getter(); + if (!variant.gobj()) + return NULL; + + double value = Glib::VariantBase::cast_dynamic>( + variant).get(); + _spin_box = new QDoubleSpinBox(parent); _spin_box->setDecimals(_decimals); _spin_box->setSuffix(_suffix); @@ -67,8 +73,7 @@ QWidget* Double::get_widget(QWidget *parent, bool auto_commit) if (_step) _spin_box->setSingleStep(*_step); - _spin_box->setValue(g_variant_get_double(value)); - g_variant_unref(value); + _spin_box->setValue(value); if (auto_commit) connect(_spin_box, SIGNAL(valueChanged(double)), @@ -84,7 +89,7 @@ void Double::commit() if (!_spin_box) return; - _setter(g_variant_new_double(_spin_box->value())); + _setter(Glib::Variant::create(_spin_box->value())); } void Double::on_value_changed(double)