]> sigrok.org Git - pulseview.git/blobdiff - pv/binding/device.cpp
binding::Device: Catch errors listing the config keys
[pulseview.git] / pv / binding / device.cpp
index 32edea164144786d0ef9ad8aeab525dc99363eb8..6f9788932c8dd0d4377d98771cee69ad6b6760e3 100644 (file)
@@ -56,9 +56,15 @@ namespace binding {
 Device::Device(shared_ptr<sigrok::Configurable> configurable) :
        configurable_(configurable)
 {
-       assert(configurable);
+       std::map< const ConfigKey*, std::set<Capability> > keys;
 
-       for (auto entry : configurable->config_keys(ConfigKey::DEVICE_OPTIONS)) {
+       try {
+               keys = configurable->config_keys(ConfigKey::DEVICE_OPTIONS);
+       } catch (const Error) {
+               return;
+       }
+
+       for (auto entry : keys) {
                auto key = entry.first;
                auto capabilities = entry.second;