]> sigrok.org Git - pulseview.git/blobdiff - pv/session.cpp
Fix #605 by closing current device when another is selected
[pulseview.git] / pv / session.cpp
index 22e0428d94abf26a5421c540377dc9e55c6ddccf..4823543213de5b5a080be2ea732d1086aefa4bae 100644 (file)
@@ -127,8 +127,11 @@ void Session::set_device(shared_ptr<devices::Device> device)
        // Ensure we are not capturing before setting the device
        stop_capture();
 
+       if (device_)
+               device_->close();
+
        device_ = std::move(device);
-       device_->create();
+       device_->open();
        device_->session()->add_datafeed_callback([=]
                (shared_ptr<sigrok::Device> device, shared_ptr<Packet> packet) {
                        data_feed_in(device, packet);